{"id":49,"date":"2008-09-28T15:04:56","date_gmt":"2008-09-28T15:04:56","guid":{"rendered":"http:\/\/kumouse.aafox.com\/?p=49"},"modified":"2008-09-28T15:04:56","modified_gmt":"2008-09-28T15:04:56","slug":"%e7%83%ad%e9%94%ae%e5%85%b3%e9%97%ad%e6%98%be%e7%a4%ba%e5%99%a8delphi%e6%ba%90%e7%a0%81%e8%bd%ac%e6%b1%87%e7%bc%96","status":"publish","type":"post","link":"https:\/\/www.kumouse.com\/?p=49","title":{"rendered":"\u70ed\u952e\u5173\u95ed\u663e\u793a\u5668(delphi\u6e90\u7801\u8f6c\u6c47\u7f16)"},"content":{"rendered":"<p>delphi\u4ee3\u7801:<\/p>\n<blockquote><p>program open;<\/p>\n<p>uses<br \/>  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br \/>  Dialogs, StdCtrls;<\/p>\n<p>{$R *.res}<\/p>\n<p>const<br \/>  WM_HOTKEY = $0312;<\/p>\n<p>var<br \/>  WinH : Longint=0;<br \/>  Msg  : tMsg;<\/p>\n<p>begin<br \/>  RegisterHotKey(0,0,MOD_ALT,ord(&#39;X&#39;));  \/\/\u6ce8\u518cAlt+Z<br \/>  while GetMessage(Msg, 0, 0, 0) do<br \/>    if Msg.message=WM_HOTKEY then<br \/>      begin<br \/>        sleep(500);<br \/>        SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,2);<br \/>      end;<\/p>\n<p>end.<\/p>\n<\/blockquote>\n<p>\u6c47\u7f16\u4ee3\u7801:<\/p>\n<blockquote><p>.386<br \/>.Model Flat, StdCall<br \/>Option Casemap :None<\/p>\n<p>Include windows.inc<br \/>Include user32.inc<br \/>Include kernel32.inc<br \/>Include gdi32.inc<\/p>\n<p>includelib gdi32.lib<br \/>IncludeLib user32.lib<br \/>IncludeLib kernel32.lib<br \/>;include macro.asm<\/p>\n<p>WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD<br \/>WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD<\/p>\n<p>icMyHotKey equ 2010<\/p>\n<p>.const <br \/>szFmt_d db &#39;%d&#39;, 0 <\/p>\n<p>.DATA<br \/>szClassName db &quot;close windows&quot;,0<br \/>szCaption db &quot;http&#58;\/\/www.kumouse.com&quot;,0<br \/>szt db &quot;\u70ed\u952e\uff1aALT+X \u529f\u80fd\uff1a\u5173\u95ed\u663e\u793a\u5668 \u4f5c\u8005\uff1a\u7f8e\u4e3d\u4eba\u751f&quot;,0<br \/>szc db &quot;\u8bf4\u660e&quot;,0<\/p>\n<p>.DATA?<br \/>hInstance dd ?<br \/>hFind HINSTANCE ?<\/p>\n<p>.CODE<br \/>START:<\/p>\n<p>invoke GetModuleHandle,NULL<br \/>mov hInstance,eax<br \/>invoke WinMain,hInstance,NULL,NULL,SW_SHOWDEFAULT<br \/>invoke ExitProcess,0<\/p>\n<p>WinMain proc hInst:DWORD,hPrevInst:DWORD,CmdLine:DWORD,CmdShow:DWORD<br \/>LOCAL wc :WNDCLASSEX<br \/>LOCAL msg :MSG<br \/>local hWnd :HWND<\/p>\n<p>mov wc.cbSize,sizeof WNDCLASSEX<br \/>mov wc.style,CS_HREDRAW or CS_VREDRAW or CS_BYTEALIGNWINDOW<br \/>mov wc.lpfnWndProc,offset WndProc<br \/>mov wc.cbClsExtra,NULL<br \/>mov wc.cbWndExtra,NULL<br \/>push hInst<br \/>pop wc.hInstance<br \/>mov wc.hbrBackground,COLOR_BTNFACE+1<br \/>mov wc.lpszMenuName,NULL<br \/>mov wc.lpszClassName,offset szClassName<br \/>;invoke LoadIcon,hInst,100<br \/>mov wc.hIcon,NULL<br \/>;invoke LoadCursor,NULL,IDC_ARROW<br \/>mov wc.hCursor,NULL<br \/>mov wc.hIconSm,0<br \/>invoke RegisterClassEx, ADDR wc<br \/>;invoke CreateWindowEx,NULL,ADDR szClassName,CTXT(&quot;http&#58;\/\/www.kumouse.com&quot;),WS_OVERLAPPEDWINDOW,200,200,400,200,NULL,NULL,hInst,NULL<br \/>invoke CreateWindowEx,NULL,ADDR szClassName,addr szCaption,WS_OVERLAPPEDWINDOW,200,200,400,200,NULL,NULL,hInst,NULL<br \/>mov hWnd,eax<br \/>;invoke ShowWindow,hWnd,SW_SHOWNORMAL<br \/>invoke UpdateWindow,hWnd<\/p>\n<p>StartLoop:<br \/>invoke GetMessage,ADDR msg,NULL,0,0<br \/>cmp eax, 0<br \/>je ExitLoop<br \/>invoke TranslateMessage, ADDR msg<br \/>invoke DispatchMessage, ADDR msg<br \/>jmp StartLoop<br \/>ExitLoop:<\/p>\n<p>mov eax,msg.wParam<br \/>ret<br \/>WinMain endp<\/p>\n<p>WndProc proc hWin:DWORD,uMsg:DWORD,wParam :DWORD,lParam :DWORD<br \/>local cBuf[32]:BYTE<\/p>\n<p>.if uMsg==WM_CREATE<\/p>\n<p>invoke RegisterHotKey,hWin,icMyHotKey,MOD_ALT,VK_X ;\u5b9a\u4e49\u70ed\u952e<br \/>invoke MessageBox,NULL,addr szt,addr szc,1<\/p>\n<p>.elseif uMsg == WM_HOTKEY ;\u5904\u7406\u70ed\u952e\u6d88\u606f      <br \/>&nbsp;&nbsp;invoke Sleep,500<br \/>&nbsp;&nbsp;invoke SendMessage,hWin,WM_SYSCOMMAND,SC_MONITORPOWER,2<\/p>\n<p>.elseif uMsg == WM_DESTROY<\/p>\n<p>invoke UnregisterHotKey,hWin,icMyHotKey ;\u53d6\u6d88\u5b9a\u4e49\u7684\u70ed\u952e<\/p>\n<p>invoke PostQuitMessage,NULL<br \/>.else<br \/>invoke DefWindowProc,hWin,uMsg,wParam,lParam<br \/>.endif<br \/>ret<br \/>WndProc endp<br \/>END START<\/p>\n<\/blockquote>\n<p>\u4ee3\u7801\u4e0b\u8f7d:<br \/><a href=\"uploads\/200809\/28_150816_closemonitor.rar\" title=\"uploads\/200809\/28_150816_closemonitor.rar\" target=\"_blank\">\u70b9\u51fb\u4e0b\u8f7d<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>delphi\u4ee3\u7801: program open; uses Windows, Messages, SysUtil [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-12"],"_links":{"self":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=49"}],"version-history":[{"count":0,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts\/49\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}