Windows API——TextOut()函数学习

article/2025/10/4 17:31:04

1.函数功能

The TextOut function writes a character string at the specified location, using the currently selected font, background color, and text color.

TextOut函数使用当前选定的字体、背景颜色和文本颜色在指定位置写入字符串。

2.函数原型

BOOL TextOutA( HDC hdc, int x, int y, LPCSTR lpString, int c );(普通字符)

BOOL TextOutW( HDC hdc, int x, int y, LPCWSTR lpString, int c );(宽字符)

参数:

hdc:当前DC句柄。

x:指定用于字符串对齐的基准点的逻辑x坐标

y:指定用于字符串对齐的基准点的逻辑y坐标

lpString:A pointer to the string to be drawn. The string does not need to be zero-terminated(不必以\0结尾), because cchString specifies the length of the string.

c:指定字符串的长度。

返回值:

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

3.备注

The interpretation of the reference point(基准点) depends on the current text-alignment mode(文本对齐模式). An application can retrieve this mode by calling the GetTextAlign function; an application can alter this mode by calling the SetTextAlign function. 

可以使用以下值进行文本对齐。 (只能从影响水平和垂直对齐的标志中选择一个标志。只能选择改变当前位置的两个标志中的一个。)

参数值描述
TA_BASELINE参考点将位于文本的基线上。
TA_BOTTOM参考点将位于边界矩形的底部边缘。
TA_TOP参考点将位于边界矩形的顶部边缘。
TA_CENTER参考点将与边界矩形的中心水平位置对齐。
TA_LEFT参考点将位于边界矩形的左边缘。
TA_RIGHT参考点将位于边界矩形的右边缘。
TA_NOUPDATECP每次文本输出调用后,当前位置不会更新。 参考点传递给文本输出函数。
TA_RTLREADINGWindows的中东语言版本:文本按从右到左的阅读顺序排列,而不是默认的从左到右的顺序。 仅当选择到设备上下文的字体是希伯来语或阿拉伯语时才适用。
TA_UPDATECP每次文本输出调用后更新当前位置。 当前位置用作参考点。

4.VS2010字符集的选择

#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
#endif // !UNICODE


http://chatgpt.dhexx.cn/article/B0yVBZ1e.shtml

相关文章

35.文本输出函数TabbedTextOut、ExtTextOut、TextOut、SetBkColor

TextOut和TabbedTextOut、ExtTextOut的区别 TextOut是简单文本输出,不带格式的,可以控制文本的对齐方式 TabbedTextOut是可以控制带\t(制表符号)的文本 ExtTextOut是在TextOut的基础上,增加字符间距、背景颜色和剪裁框…

windows编程之TextOut与DrawText -- 文本输出实验

文章目录 windows编程之TextOut与DrawText -- 文本输出实验实验名称实验目的实验要求实验源码思考题 windows编程之TextOut与DrawText – 文本输出实验 实验名称 实验3-2-文本输出实验 实验目的 1.掌握常用的文本输出函数TextOut、DrawText的使用,熟悉其…

Monkey的测试

1.Monkey介绍 顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。 猴子什么都不懂, 只知道乱敲 通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的…

MonkeyTest——简单无脑的移动端自动化测试(初级篇)

MonkeyTest-操作步骤: 1.下载Android sdk X64位,必须和你的电脑操作系统一致。 2.安装完成后,增加adb的系统环境。 A.找到sdk路径。 默认路径:C:\Users\ZSD\AppData\Local\Android\android-sdk\platform-tools B.打开系统环境设置…

【转】指定页面进行Monkey测试

偶然在网上查看到这个技术,感兴趣,就记录下【感谢博主分享】 1.原文再此:https://blog.csdn.net/liyu520131414/article/details/69357777?utm_sourceblogxgwz3 原理原文博主已经讲清楚了,就不粘贴了,下面&#xff…

Android测试-Monkey Test

APP开发过程中,开人员往往自己做一些功能测试和稳定性测试,使用MonkeyTest做压力测试是常用方法,及时修复ANR、CRASH提高项目组整体的开发效率。 一、Monkey简介 Monkey是一种命令行工具,这个工具存在于Android系统/system/frame…

Monkey测试(一)

简介常见参数日志分析简单脚本编写 一:简介 Monkey测试是Android平台自动化测试的一种手段, 通过Monkey程序模拟用户触摸屏幕、滑动,Trackball(轨迹球)、按键等操作来对设备上的程序进行压力测试, 检测程序…

App之Monkey测试

作为初入测试行业的小白,了解一些Monkey测试是很有必要的,在此小编整理了一些App方面Monkey测试的基础以及Monkey脚本的编写,希望可以帮助到大家。 1. Monkey的概念 Monkey测试又称"猴子测试",是指没有测试经验的人对产品进行乱点…

随机测试 Monkey Test

今天说一说随机测试,Monkey Test。翻译成中文就是猴子测试。 你可以想象一只猴子趴在电脑面前,拿着鼠标随便乱点的样子。 一,什么是随机测试? 软件测试中的Monkey测试是测试人员对应用程序随机输入以验证其功能的一种方法。这是…

墨者学院-Bash漏洞分析溯源

Bash漏洞分析溯源 难易程度:★★ 题目类型:命令执行 使用工具:FireFox浏览器、wwwscan 1.打开靶场,根据题目思路找poc.cgi。 2.使用wwwscan扫一下 发现有目录/cgi-bin 3.打开burpsuite,访问/cgi-bin/poc.cgi,截包。 send to repeater&…

vulhub漏洞复现之bash(Shellshock CVE-2014-6271)

Shellshock 破壳漏洞 CVE-2014-6271 1.漏洞概述: GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命…

linux网站漏洞修复,CentOS Bash漏洞终极修复方法

目前已确认被成功利用的软件及系统:所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。 【Bash漏洞描述】该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。 【漏洞检测方法】 在服务器命…

Bash漏洞分析溯源 cgi文件 (CVE-2014-6271) --墨者学院

01 背景介绍 Bash脚本在解析某些特殊字符串时出现逻辑错误导致可以执行后面的命令,在一些cgi脚本中,数据是通过环境变量来传递的,这样就会形成该漏洞; bash通过以函数名作为环境变量名,以“(){…

suse linux bash漏洞,bash漏洞: CVE-2014-6271漏洞及紧急修复方法

最近linux的bash漏洞闹得沸沸扬扬,问题还是挺严重的,我这里提醒大家一下早日修复吧! 如何验证 $ env x() { :;}; echo vulnerable bash -c echo hello 在终端中运行上面的命令,如果返回有vulnerable,就说明这台服务器中…

suse linux bash漏洞,Suse11 sp3 下Bash漏洞升级修复

SuSE Linux Enterprise Server 11Bash 漏洞修复方案 系统:Suse-11-sp3-64 Bash:bash-4.4 1.1. Bash升级 1.1.1升级概述 大部分现行Linux操作系统自带的版本比较陈旧,因此需要升级bash版本。 发现现在版本存在漏洞 1.1.2 安装介质 bash-4.4.tar.gz(官网最…

墨者Bash漏洞分析溯源题解

这个漏洞是看别人的思路解出来的,因为在打开页面后,我扫描不出来其他东西,惭愧 后台存在一个地址,是http://219.153.49.228:49581/cgi-bin/poc.cgi 访问这个地址 对着地址进行抓包 将user-agent进行修改,修改为() { …

Bash漏洞利用!

环境: 服务器Centos:192.168.195.130 攻击机bt5:192.168.195.130 1、找到漏洞利用程序 必须web服务器支持cgi 这里是测试的bug.sh代码 #!/bin/bash 第一行要特别注意! echo "Content-type: text/html" echo "&q…

redhat linux bash 漏洞,GNU Bash 漏洞及修补方法

文章引自http://loosky.net/3036.html 漏洞描述 CVE-2014-6271 ***者可构造特殊的环境变量值,以在这些环境变量的值中包含特定的代码,当 Shell 对这些环境变量求值时,这些特定的代码将得以在系统中执行。某些服务和应用接受未经身份者提供的环…

linux 破壳漏洞,Bash破壳漏洞

“破壳”是一个严重漏洞的别名,在Red Hat、CentOS、Ubuntu、Fedora、Amazon Linux、OS X 10.10中均拥有存在CVE-2014-6271(即“破壳”漏洞)漏洞的Bash版本,同时由于Bash在各主流操作系统的广泛应用,此漏洞的影响范围包括但不限于大多数应用Bash的Unix、Linux、Mac OS X,而针…

linux系统漏洞补丁包,RedHat 5.X、6.X Bash漏洞RPM补丁包下载

RedHat 5.X、6.X Bash漏洞RPM补丁包下载及教程。 首先查看服务器的BASH版本号: bash -version 如果BASH版本是4.X的64位系统的话,安装bash-4.1.2-15.el6_5.2.x86_64文件夹里面的三个文件; 如果BASH版本是3.X的话,32位和64位分别安…