クラス登録とか確認したけどあってるっぽ
デバックコードぶっこんでみっか
google大先生によると
GetLastError()関数を使えばいいということでしたので
さらに大先生のサイトからコードをパチリました。
ーーーーーSource codeーーーーー
#include <windows.h>
#define WIN_NAME TEXT("winwin")
int WINAPI WinMain( HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine,
                    int nCmdShow )
{
  HWND hWnd;
  WNDCLASS winclass;  
  winclass.style = CS_HREDRAW | CS_VREDRAW;
  winclass.lpfnWndProc = DefWindowProc;
  winclass.cbClsExtra = 0;
  winclass.cbWndExtra = 0;
  winclass.hInstance = hInstance;
  winclass.hIcon = NULL;
  winclass.hCursor = NULL;
  winclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
  winclass.lpszMenuName = WIN_NAME;
//(HBRUSH)color_BACKGROUND + 1;  
  if ( !RegisterClass( &winclass ) ) {
    MessageBox( NULL, TEXT("トゥルットゥルットゥル"), NULL, MB_OK );
    return 0;
  }  
  LPVOID lpMsgBuf;
  SetLastError(NO_ERROR);        //エラー情報をクリアする  
  hWnd = CreateWindow( WIN_NAME, TEXT("testtest"),
                        WS_OVERLAPPEDWINDOW,
                        100, 100, 400, 300,
                        NULL, NULL, hInstance, NULL );
FormatMessage(                //エラー表示文字列作成
            FORMAT_MESSAGE_ALLOCATE_BUFFER | 
            FORMAT_MESSAGE_FROM_SYSTEM | 
            FORMAT_MESSAGE_IGNORE_INSERTS,
            NULL, GetLastError(),
             MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 
             (LPTSTR) &lpMsgBuf, 0, NULL);
MessageBox(NULL, (const char*)lpMsgBuf, NULL, MB_OK);    //メッセージ表示
LocalFree(lpMsgBuf);    
 if( hWnd == NULL ) {
    MessageBox( NULL, TEXT("トットットゥルットゥルットゥル"), NULL, MB_OK );
    return 0;
  }  
  ShowWindow( hWnd, SW_SHOW );  
  MessageBox( NULL, TEXT("めでたしめてたし"), NULL, MB_OK );
  return 0;
}
ーーーーーーーーーーーーーーーーーーーーーーーーー
実行結果

 ⇒ 

(」゚ロ゚)」(」゚ロ゚)」(」゚ロ゚)」なんとオオオオオッッッ!!!
っつーことは、CreateWindowの第一引数のclassnameがアヤシーぞ
うーんあってるな
まてよ・・・
WNDCLASSの最後のメンバなんか少なくね?
なんか名前入れるの2個あったのに一つしかねーよね
Σ(゚д゚;) ヌオォ!?
クラスネームないんすけど
winclass.lpszClassNameがないよねあきらかに
(ノ_-;)ハア…
直してコンパイルしてみるっす
つづく                        
 [0回]
[0回]
PR