最小应用程序的问题。请进!
Program Example;
uses
Sysunits,Windows,Messages;
var
hWin:THandle;
WndClass:TWndClass;
Msg:TMsg;
const
Title='example';
clsName='wincls';
function WinProc(Window:hwnd;Message,wParam,lParam:longint);longint;stdcall;export;
begin
WinProc:=0;
case Message of
WM_DESTROY:
begin
PostQuitMessage(0);
exit;
end;
//....
//....
end;
WinProc:=DefWindowProc(Window,Message,wParam,lParam);
end;
begin
with WndClass do
begin
Style:=WS_OVERLAPPED;
lpfnWndProc:=@WinProc;
cbClsExtra:=0;
cbWndExtra:=0;
hInstance:=hinstance;//1.此处的hinstance,我没有定义是哪来的。
hIcon:=LoadIcon(0,IDI_APPLICATION);
hCursor:=LoadCursor(0,IDC_ARROW);
hbrBackGround:=COLOR_BTNSHADOW;
lpszMenuName:=nil;
lpszClassName:=clsName;
end;
if RegisterClass(WndClass)=0 then
begin
MessageBox(0,'Register fail',MB_OK or MB_ICONINFORMATION);
exit;
end;
hWin:=CreateWindowEx(WS_EX_RTLREADING or WS_EX_APPWINDOW,
clsName,Title,
WS_OVERLAPPEDWINDOW,
integer(CW_USEDEFAULT),integer(CW_USEDEFAULT),
integer(CW_USEDEFAULT),integer(CW_USEDEFAULT),
0,0,hinstance,nil);
if hWin<>0 then
begin
ShowWindow(hWin,SW_SHOW);
UpdateWindow(hWin);
end;
while GetMessage(Msg,0,0,0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
halt(Msg.wParam)
end.
问题:
1,1处的hinstance是哪来的。我跟踪过这个变量有值。
2,窗口函数中的那个export关键字是什么意思.
此外,还是一个其它问题:如何动态和静态生成GUID,我知道在delphi中按ctrl+shift+G可以生成GUID ,还有其它方法吗?有生成这个GUID的程序吗。