Enfim,.... fiz isto... o prog abre mas trava... :huh: #include <windows.h>
//#include "generic.h"
HINSTANCE hCop; //ocorrencia atual
LPCTSTR lpszNomeAplic = "Genérico";
LPCTSTR lpszTitulo = "Aplicativo Genérico";
BOOL RegisterWin95(CONST WNDCLASS* lpwc);
int APIENTRY WinMain (HINSTANCE hCopia, HINSTANCE hCopiaAnt, LPSTR lpLinhaCmd, int nCmdExibe)
{
MSG msg;
HWND hJan;
HWND procJan;
WNDCLASS cj;
cj.style = CS_HREDRAW | CS_VREDRAW;
cj.lpfnWndProc = (WNDPROC) procJan;
cj.cbClsExtra = 0;
cj.cbWndExtra = 0;
cj.hInstance = 0;
cj.hIcon = LoadIcon(hCopia, lpszNomeAplic);
cj.hCursor = LoadCursor(NULL, IDC_ARROW);
cj.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
cj.lpszMenuName = lpszNomeAplic;
cj.lpszClassName = lpszNomeAplic;
if(!RegisterWin95(&cj))
return false;
hCop = hCopia;
hJan = CreateWindow (lpszNomeAplic, lpszTitulo, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hCopia, NULL);
if(!hJan)
return false;
ShowWindow(hJan, nCmdExibe);
UpdateWindow(hJan);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}
BOOL RegisterWin95 (CONST WNDCLASS* lpcj)
{
WNDCLASSEX cjex;
cjex.style = lpcj->style;
cjex.lpfnWndProc = lpcj->lpfnWndProc;
cjex.cbClsExtra = lpcj->cbClsExtra;
cjex.cbWndExtra = lpcj->cbWndExtra;
cjex.hInstance = lpcj->hInstance;
cjex.hIcon = lpcj->hIcon;
cjex.hCursor = lpcj->hCursor;
cjex.hbrBackground = lpcj->hbrBackground;
cjex.lpszMenuName = lpcj->lpszMenuName;
cjex.lpszClassName = lpcj->lpszClassName;
cjex.cbSize = sizeof(WNDCLASSEX);
cjex.hIconSm = LoadIcon(cjex.hInstance, "PEQUENO");
return RegisterClassEx(&cjex);
}
LRESULT CALLBACK hJan(HWND hJan, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_COMMAND: switch(LOWORD(wParam))
{
case 'IDM_TESTAR':
break;
case 'IDM_SAIR':
DestroyWindow(hJan);
break;
}
break;
case WM_DESTROY :
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hJan, uMsg, wParam, lParam));
}
return(0L);
}