{"id":19961,"date":"2015-10-06T21:13:00","date_gmt":"2015-10-06T12:13:00","guid":{"rendered":"http:\/\/www.tyosuke20xx.com\/blog\/?p=19961"},"modified":"2015-10-06T21:13:00","modified_gmt":"2015-10-06T12:13:00","slug":"c%e8%a8%80%e8%aa%9ewindows%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0","status":"publish","type":"post","link":"http:\/\/www.tyosuke20xx.com\/blog\/?p=19961","title":{"rendered":"[C\u8a00\u8a9e]Windows\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0"},"content":{"rendered":"<p>#include &lt;windows.h&gt;<br \/>\n#pragma comment (lib, &#8220;winmm.lib&#8221;)<br \/>\n#define _CRT_SECURE_NO_WARNINGS<br \/>\nLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);<br \/>\nATOM InitApp(HINSTANCE);<br \/>\nBOOL InitInstance(HINSTANCE, int);<\/p>\n<p>char szClassName[] = &#8220;template&#8221;;<span style=\"white-space: pre;\"> <\/span>\/\/\u30a6\u30a3\u30f3\u30c9\u30a6\u30af\u30e9\u30b9<\/p>\n<p>\nint WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow)<br \/>\n{<br \/>\n<span style=\"white-space: pre;\"> <\/span>MSG msg;<br \/>\n<span style=\"white-space: pre;\"> <\/span>BOOL bRet;<\/p>\n<p><span style=\"white-space: pre;\"> <\/span>if (!InitApp(hCurInst))<br \/>\n<span style=\"white-space: pre;\">  <\/span>return FALSE;<br \/>\n<span style=\"white-space: pre;\"> <\/span>if (!InitInstance(hCurInst, nCmdShow))<br \/>\n<span style=\"white-space: pre;\">  <\/span>return FALSE;<br \/>\n<span style=\"white-space: pre;\"> <\/span>while ((bRet = GetMessage(&amp;msg, NULL, 0, 0)) != 0){<br \/>\n<span style=\"white-space: pre;\">  <\/span>if (bRet == -1){<br \/>\n<span style=\"white-space: pre;\">   <\/span>break;<br \/>\n<span style=\"white-space: pre;\">  <\/span>}<br \/>\n<span style=\"white-space: pre;\">  <\/span>else {<br \/>\n<span style=\"white-space: pre;\">   <\/span>TranslateMessage(&amp;msg);<br \/>\n<span style=\"white-space: pre;\">   <\/span>DispatchMessage(&amp;msg);<br \/>\n<span style=\"white-space: pre;\">  <\/span>}<br \/>\n<span style=\"white-space: pre;\"> <\/span>}<br \/>\n<span style=\"white-space: pre;\"> <\/span>return (int)msg.wParam;<br \/>\n}<\/p>\n<p>\/\/\u30a6\u30a3\u30f3\u30c9\u30a6\u30af\u30e9\u30b9\u306e\u767b\u9332<\/p>\n<p>ATOM InitApp(HINSTANCE hInst)<br \/>\n{<br \/>\n<span style=\"white-space: pre;\"> <\/span>WNDCLASSEX wc;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.cbSize = sizeof(WNDCLASSEX);<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.style = CS_HREDRAW | CS_VREDRAW;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.lpfnWndProc = WndProc;<span style=\"white-space: pre;\"> <\/span>\/\/\u30d7\u30ed\u30b7\u30e3\u30fc\u30b8\u540d<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.cbClsExtra = 0;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.cbWndExtra = 0;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.hInstance = hInst;<span style=\"white-space: pre;\"> <\/span>\/\/\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.hIcon = (HICON)LoadImage(NULL,<br \/>\n<span style=\"white-space: pre;\">  <\/span>MAKEINTRESOURCE(IDI_APPLICATION),<br \/>\n<span style=\"white-space: pre;\">  <\/span>IMAGE_CURSOR,<br \/>\n<span style=\"white-space: pre;\">  <\/span>0,<br \/>\n<span style=\"white-space: pre;\">  <\/span>0,<br \/>\n<span style=\"white-space: pre;\">  <\/span>LR_DEFAULTSIZE | LR_SHARED);<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.lpszClassName = NULL;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.lpszClassName = (LPCWSTR)szClassName;<br \/>\n<span style=\"white-space: pre;\"> <\/span>wc.hIconSm = (HICON)LoadImage(NULL,<br \/>\n<span style=\"white-space: pre;\">  <\/span>MAKEINTRESOURCE(IDI_APPLICATION),<br \/>\n<span style=\"white-space: pre;\">  <\/span>IMAGE_ICON,<br \/>\n<span style=\"white-space: pre;\">  <\/span>0,<br \/>\n<span style=\"white-space: pre;\">  <\/span>0,<br \/>\n<span style=\"white-space: pre;\">  <\/span>LR_DEFAULTSIZE | LR_SHARED);<\/p>\n<p><span style=\"white-space: pre;\"> <\/span>return (RegisterClassEx(&amp;wc));<br \/>\n}<\/p>\n<p>BOOL InitInstance(HINSTANCE hInst, int nCmdShow)<br \/>\n{<br \/>\n<span style=\"white-space: pre;\"> <\/span>HWND hWnd;<\/p>\n<p><span style=\"white-space: pre;\"> <\/span>hWnd = CreateWindowA(szClassName,<br \/>\n<span style=\"white-space: pre;\">  <\/span>&#8220;\u732b\u3067\u3082\u5206\u304b\u308bWindows\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0&#8221;,<br \/>\n<span style=\"white-space: pre;\">  <\/span>WS_OVERLAPPEDWINDOW,<br \/>\n<span style=\"white-space: pre;\">  <\/span>CW_USEDEFAULT,<br \/>\n<span style=\"white-space: pre;\">  <\/span>CW_USEDEFAULT,<br \/>\n<span style=\"white-space: pre;\">  <\/span>CW_USEDEFAULT,<br \/>\n<span style=\"white-space: pre;\">  <\/span>CW_USEDEFAULT,<br \/>\n<span style=\"white-space: pre;\">  <\/span>NULL,<br \/>\n<span style=\"white-space: pre;\">  <\/span>NULL,<\/p>\n<p><span style=\"white-space: pre;\">  <\/span>hInst,<br \/>\n<span style=\"white-space: pre;\">  <\/span>NULL);<br \/>\n<span style=\"white-space: pre;\"> <\/span>if (!hWnd)<br \/>\n<span style=\"white-space: pre;\">  <\/span>return FALSE;<br \/>\n<span style=\"white-space: pre;\"> <\/span>ShowWindow(hWnd, nCmdShow);<br \/>\n<span style=\"white-space: pre;\"> <\/span>UpdateWindow(hWnd);<br \/>\n<span style=\"white-space: pre;\"> <\/span>return TRUE;<br \/>\n}<\/p>\n<p>LRESULT CALLBACK WndProc(<br \/>\n<span style=\"white-space: pre;\"> <\/span>HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)<br \/>\n{<br \/>\n<span style=\"white-space: pre;\"> <\/span>int id;<\/p>\n<p><span style=\"white-space: pre;\"> <\/span>switch (msg)<br \/>\n<span style=\"white-space: pre;\"> <\/span>{<br \/>\n<span style=\"white-space: pre;\"> <\/span>case WM_CLOSE:<br \/>\n<span style=\"white-space: pre;\">  <\/span>id = MessageBoxA(hWnd,<br \/>\n<span style=\"white-space: pre;\">   <\/span>&#8220;\u7d42\u4e86\u3057\u307e\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b&#8221;,<br \/>\n<span style=\"white-space: pre;\">   <\/span>&#8220;\u78ba\u8a8d&#8221;,<br \/>\n<span style=\"white-space: pre;\">   <\/span>MB_YESNO | MB_ICONQUESTION);<br \/>\n<span style=\"white-space: pre;\">  <\/span>if (id == IDYES)<br \/>\n<span style=\"white-space: pre;\">   <\/span>DestroyWindow(hWnd);<br \/>\n<span style=\"white-space: pre;\">  <\/span>break;<br \/>\n<span style=\"white-space: pre;\"> <\/span>case WM_DESTROY:<br \/>\n<span style=\"white-space: pre;\">  <\/span>PostQuitMessage(0);<br \/>\n<span style=\"white-space: pre;\">  <\/span>break;<br \/>\n<span style=\"white-space: pre;\"> <\/span>default:<br \/>\n<span style=\"white-space: pre;\">  <\/span>return (DefWindowProc(hWnd, msg, wp, lp));<br \/>\n<span style=\"white-space: pre;\"> <\/span>}<br \/>\n<span style=\"white-space: pre;\"> <\/span>return 0;<br \/>\n}<\/p>\n<p>\n\u30a8\u30e9\u30fc<span style=\"white-space: pre;\"> <\/span>1<span style=\"white-space: pre;\"> <\/span>error LNK2019: \u672a\u89e3\u6c7a\u306e\u5916\u90e8\u30b7\u30f3\u30dc\u30eb _main \u304c\u95a2\u6570 ___tmainCRTStartup \u3067\u53c2\u7167\u3055\u308c\u307e\u3057\u305f\u3002<span style=\"white-space: pre;\"> <\/span>c:Userstyosukedocumentsvisual studio 2013ProjectsConsoleApplication106ConsoleApplication106MSVCRTD.lib(crtexe.obj)<span style=\"white-space: pre;\"> <\/span>ConsoleApplication106<\/p>\n<p>Visual Studio\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u7a2e\u985e\u3092\u5909\u66f4\u3059\u308b\u65b9\u6cd5<br \/>\nhttp:\/\/blogs.osdn.jp\/programming\/2015\/02\/24\/subsystem.html<\/p>\n<div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>#include &lt;windows.h&gt; #pragma comment (lib, &#8220;winmm.lib&#8221;) #define _CRT_SECURE_NO_WARNINGS LRES &hellip; <a href=\"http:\/\/www.tyosuke20xx.com\/blog\/?p=19961\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;[C\u8a00\u8a9e]Windows\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[90],"tags":[],"class_list":["post-19961","post","type-post","status-publish","format-standard","hentry","category-c"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/19961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19961"}],"version-history":[{"count":0,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/19961\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=19961"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=19961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}