如何锁定计算机、打开运行对话框、打开系统帮助、打开资源管理器

来源:互联网 发布:股票不允许网络销售吗 编辑:程序博客网 时间:2024/06/07 02:02

如何锁定计算机、打开运行对话框、打开系统帮助、打开资源管理器

 

这个问题我想也许很多朋友遇到过,我最近用到了,有必要记录一下,以期与大家共勉。

由于系统里默认有一些组合键如:

WIN(CTRL和ALT中间的那个键)+R   运行
WIN+F                          查找
WIN+D                          显示桌面
WIN+E                          资源管理器
WIN+U                          辅助工具
WIN+L                          切换用户

那么很自然的,我们想到了模拟系统按键,当然还有一些可以通过其他途径也能实现,这里也进行列举。


锁定计算机:

实现思路模拟系统按键:

void  LockComputer(){    //模拟按下Windows键+L键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'L', 0, 0, 0);    keybd_event((unsigned char)'L', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}


打开运行对话框:

实现思路有两种:

(1) 模拟按下Windows键+R键

void  ShowRunDlg(){    //模拟按下Windows键+R键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'R', 0, 0, 0);    keybd_event((unsigned char)'R', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}


(2) Shell32.dll里有一个未公开的API,无函数名,序号为61,可以显示定制的运行对话框,
字符集要设成Unicode,否则可能会是乱码。

/************************************************************************************** * 函数名称 : ShowMyRunDlg(...) * 功能描述 : 显示定制的运行对话框 * 入  参   : HWND   hWndOwner,        //所有者窗口句柄              HICON  hIcon,            //要显示的图标句柄              PTCHAR pszDirectory,     //“浏览”按钮的目录,该目录下的文件可省略路径              PTCHAR pszTitle,         //窗口标题的文字              PTCHAR pszDescription,   //窗口上的文本描述              UINT   nFlags            //样式 * 出  参   : 无 * 返回值   : -1 失败  0 成功 * 作  者   : 一剑 * 创建日期 : 2012/07/31 * 处理说明 : 显示定制的运行对话框 *************************************************************************************/BOOL ShowMyRunDlg(HWND hWndOwner, HICON hIcon, PTCHAR pszDirectory,         PTCHAR pszTitle, PTCHAR pszDescription, UINT nFlags){    /* 声明未公开的API函数原型,函数名称可任意指定 */    typedef void (CALLBACK *lpfnRunDlg)(HWND, HICON, PTCHAR, PTCHAR, PTCHAR, UINT);    HMODULE hModule = LoadLibrary(TEXT("Shell32.dll"));    if(hModule != NULL)    {        lpfnRunDlg RunDlg = (lpfnRunDlg)GetProcAddress(hModule, (LPCSTR)MAKEINTRESOURCE(61));        RunDlg(hWndOwner, hIcon, pszDirectory, pszTitle, pszDescription, nFlags);        FreeLibrary(hModule);        return TRUE;    }    return FALSE;}

 

调用方法示例:

    ShowMyRunDlg(hwnd, LoadIcon(hAppInstance, MAKEINTRESOURCE(IDI_MAIN_ICON)),         TEXT("C:\\"), TEXT("窗口标题的文字"), TEXT("窗口上的文本描述"),         WS_POPUPWINDOW|WS_VISIBLE|WS_CLIPSIBLINGS|WS_DLGFRAME|WS_OVERLAPPED|        DS_3DLOOK|DS_FIXEDSYS|DS_SETFONT|DS_MODALFRAME|DS_NOIDLEMSG);

 

打开系统帮助和支持窗口:

void  OpenSysHelp(){    //模拟按下Windows键+VK_F1键    keybd_event(0x5B, 0, 0, 0);    keybd_event(VK_F1, 0, 0, 0);    keybd_event(VK_F1, 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}

 

打开资源管理器窗口:

void  OpenExplorerWnd(){    //模拟按下Windows键+E键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'E', 0, 0, 0);    keybd_event((unsigned char)'E', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}

 

打开查找窗口:

void  OpenFindWnd(){    //模拟按下Windows键+F键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'F', 0, 0, 0);    keybd_event((unsigned char)'F', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}

 

打开辅助工具窗口:

void  OpenToolWnd(){    //模拟按下Windows键+U键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'U', 0, 0, 0);    keybd_event((unsigned char)'U', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}

 

显示桌面:

void  GotoDesktop(){    //模拟按下Windows键+D键    keybd_event(0x5B, 0, 0, 0);    keybd_event((unsigned char)'D', 0, 0, 0);    keybd_event((unsigned char)'D', 0, 2, 0);    keybd_event(0x5B, 0, 2, 0);}


 

附赠“躺尸剑法”口诀:

1、“落泥招大姐,马命风小小。”
2、“哥翁喊上来,是横不敢过。”
3、“闯前门越广,疑尸地上爽。举头亡命也,低头死故乡。”
4、“忽听喷惊风,连山若布逃。”
5、“白日一扇近,长活如海流。鱼穷千里谋,跟上一层楼。”   
6、“两个黄梨拧脆了,一行白骆丧今天。”

抛砖引玉,高手莫笑。

 

原创粉丝点击