SendMessage函数是干啥用的 它都有哪些参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SendMessage函数是干啥用的 它都有哪些参数相关的知识,希望对你有一定的参考价值。

SendMessage函数是干什么用的 它有哪些参数

参考技术A 是向一个指定的窗口发送一条指定的消息
它有4个参数
第一个,是指定的窗口的句柄,这个窗口是广义上的,也就是说包括各种控件,对话框。它指明你到底要向谁发送消息
第二个,是具体的消息,你要向这个窗口发送一条什么样的消息,要在这说明,消息是由微软给定义好的以WM_开头,比如WM_SETFOCUS设置输入焦点。有很多,你可以查看MSDN
第三个和第四个参数,这两个和第二个参数有关,它们都是消息的附加参数,具体是什么类型的要看消息是什么,MSDN中对每个消息的附加参数都写的很明确。
比如WM_GETTEXT该消息用于获取窗口中的内容。它的附加参数,一个是字符数组,用于接收这个文本。一个是接收文本的大小,假如获取的文本超过这个值就舍弃。
还有很多你可以看看MSDN本回答被提问者和网友采纳
参考技术B SendMessage函数功能:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而和函数PostMessage不同的是,PostMessage是将一个消息寄送到一个线程的消息队列后就立即返回。
函数原型:
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息特定信息。
IParam:指定附加的消息特定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。
SendMessage函数使用实例:
#include "windows.h"
int main(int argc, char* argv[])

HWND hWnd = ::FindWindow(NULL,"QQ2010");
if( hWnd != NULL)

::SendMessage(hWnd,WM_CLOSE,0,0);//发送窗口关闭消息

return 0;
参考技术C 什么东西的SendMessage? 问题要问清楚撒

sys_context () 这个函数 是做啥用的,举个例子。v$session里的audsid 是干啥用的。

可以通过SYS_CONTEXT获取用户连接的一些信息

SYS_CONTEXT('USERENV','TERMINAL') terminal,
SYS_CONTEXT('USERENV','LANGUAGE') language,
SYS_CONTEXT('USERENV','SESSIONID') sessionid,
SYS_CONTEXT('USERENV','INSTANCE') instance,
SYS_CONTEXT('USERENV','ENTRYID') entryid,
SYS_CONTEXT('USERENV','ISDBA') isdba,
SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,
SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,
SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,
SYS_CONTEXT('USERENV','NLS_DATE_formAT') nls_date_format,
SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,
SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,
SYS_CONTEXT('USERENV','CURRENT_USER') current_user,
SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,
SYS_CONTEXT('USERENV','SESSION_USER') session_user,
SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,
SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,
SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,
SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,
SYS_CONTEXT('USERENV','DB_NAME') db_name,
SYS_CONTEXT('USERENV','HOST') host,
SYS_CONTEXT('USERENV','OS_USER') os_user,
SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,
SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,
SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,
SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,
SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,
SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type,
SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_data

v$session用于寻找用户SID或SADDR
参考技术A 返回用户信息

以上是关于SendMessage函数是干啥用的 它都有哪些参数的主要内容,如果未能解决你的问题,请参考以下文章

C语言,"conio.h"头文件是啥?是干啥用的?都有啥?

PHP 的 serialize() 函数是干啥用的?

hybris 中的 hjmpts 列是干啥用的?

java struts2是干啥用的

各个品牌的代码签名中都有时间戳,是干啥用的?

sys_context () 这个函数 是做啥用的,举个例子。v$session里的audsid 是干啥用的。