C+API:怎么将EDIT编辑框中的数字账号和密码类型进行转换

来源:百度知道 编辑:UC知道 时间:2024/06/22 11:42:09
C+API:怎么将EDIT编辑框中的数字账号和密码类型分别转换成int和char类型的
谁能给个例子啊

在GetWindowText函数中有一个要求:函数需要迅速地得到窗口文本并且不会被挂起。FindWindow函数需要通过窗口文本来查找窗口。而任务切换(Task?switching)程序也需要获得窗口文本,以便在切换器(switcher)窗口中显示窗口的标题。某个挂起的程序阻塞其他应用程序的情况是不应该发生的。这就是任务切换程序所要面对的实际情况。

这就要求不应该发送WM_GETTEXT消息,因为WM_GETTEXT的目标窗口可能被挂起。此时,GetWindowText应该从“特殊的位置”上获取文本,因为这种做法不会受到挂起程序的影响。

而另一方面,GetWindowText也用于从对话框的控件中提取文本,而这些控件通常使用的是自定义的文本管理机制。因此,这又要求应该发送WM_GETTEXT消息,因为这是获得自定义管理文本的唯一方法。

于是,在GetWindowText函数中采取了一种折中的方法:

·如果是从同一进程的窗口中得到窗口文本,那么GetWindowText将发送WM_GETTEXT消息。

·如果是从另外一个进程的窗口中得到窗口文本,那么GetWindowText将会在“特殊的位置”上获取字符串,而不是发送消息。

根据第一条原则,如果你想要获得自己进程中的窗口文本,而这个窗口被挂起了,那么GetWindowText函数也会被挂起。不过,因为这个窗口是属于你自己的进程,所以函数被挂起是你自己犯的错误,并且你应该为此负责。发送WM_GETTEXT消息将确保我们能够正确地得到那些使用自定义文本管理方式的窗口(通常是自定义控件)中的文本。

根据第二条规则,如果想要获得另一个进程中的窗口文本,那么GetWindowText将不会发送消息,而只是在“特殊的位置”上获取字符串。通常,使用最多的方式是获取另一个进程中的框架窗口文本,而在框架窗口中一般不会使用自定义的窗口文本管理方式,因此往往能够获得正确的字符串。

而在GetWindowText的帮助文档中将上述讨论内容简化为“GetWindowText无法从另一个应用程序的窗口中得到文本”。

--------------