| File3 プログラムが書ける環境と実行できることは解った(*^^*ゞ しかしだ?例の真っ黒なコマンドプロンプト窓でしか実行されない(−−; これじゃ面白くないので、やっぱウィンドウズプログラムを書いてみたい! またしかしだ?ネットに転がってたプログラムをコピペしても動かないんだ(−−; 初っ端の#include <windows.h>がダメみたいだ・・・ <windows.h>を認識させたいものだと思い、今夜もまた今夜もネットを徘徊(ノ´∀`*) OpenGL(GLUT)を使える環境を構築すれば出来るらしいので、あっちとこっちでDLしてインスト してみたが・・・やはり認識しない(−−;「C言語をはじめよう!」の設定もいじってみたが(^_^")? やっぱり動かない??と??思ったけど・・・ 何度かいじってると、認識しやがった``r(^^;)ぽりぽり 過程はどうであれ、結果はちゃんと動くのだからこれでいいのだ|:3彡
#include <windows.h>
LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);
char szWinName[] = "namae";
int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst,
LPSTR lpszArgs, int nWinMode)
{
HWND hwnd;
MSG msg;
WNDCLASSEX wcl;
wcl.cbSize = sizeof(WNDCLASSEX);
wcl.hInstance = hThisInst;
wcl.lpszClassName = szWinName;
wcl.lpfnWndProc = WinProc;
wcl.style = 0;
wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcl.hIconSm = LoadIcon(NULL, IDI_WINLOGO);
wcl.hCursor = LoadCursor(NULL, IDC_ARROW);
wcl.lpszMenuName = NULL;
wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
if(!RegisterClassEx(&wcl)) return 0;
hwnd = CreateWindow(
szWinName,"初めて動かした窓プログラムだ",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
HWND_DESKTOP,
NULL,
hThisInst,
NULL
);
ShowWindow(hwnd, nWinMode);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WinProc(HWND hwnd, UINT msg,WPARAM wP, LPARAM lP)
{
switch(msg) {
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wP, lP);
}
return 0;
}
これを実行すると、真っ白なウィンドウが出る(^_^) 大抵どこのHPを見ても、こんな感じの記述になるようだが、説明しろと言われても? 私には何がなんだか解らない・・・しかし知る必要も無いような気がする? ウィンドウの真っ白なプログラムはこうやって書くものだと理解しただけだ(*^^*ゞ ちなみにこれを実行すると「初めて動かした窓プログラムだ」と出るんだなぁ。 名前ぐらいは変更しておこうと思っただけさ(⌒^⌒)bうふっ しかし真っ白すぎるので、中に何か書いてみようっと!!次! このプログラムは、ネット徘徊してるときに「これって短そうで(・∀・)イイ!!」って思ったので・・・ コピペして使ってみたのだが、コピー先のHPの方もどこかの本に載っていたものを転載したらしい・・・ 転載の転載は天才だろぉ(^0^*おっほほ |