WHY?

智商无下限 2002-11-10 02:54:40
我定义了一个系统热键,想在热键被按下时使我的程序出现,以下是我的做法,不知道错在那里了!

private
procedure hotkey(var msg:tmessage);message wm_hotkey;
......
procedure TForm1.FormCreate(Sender: TObject);
begin
registerhotkey(handle,hotkeyid,MOD_control,$41);
end;
procedure hotkey(var msg:tmessage);
begin
if (msg.LParamHi=$41) and (msg.lparamLo=mod_control) then
showmessage('sdfsdf');//这个可以出现
showwindow(handle,‘最大化的那个语句,我望了’);//这个却不对!为什么呀?
end;
......
我没分了!


...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
智商无下限 2002-11-11
  • 打赏
  • 举报
回复
我发现了!用这个就可以了!
setwinodwpos();
智商无下限 2002-11-11
  • 打赏
  • 举报
回复
哦!这个也不行呀!还是显示不出来!!!
(SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE;)都不能显示
hansion3406 2002-11-10
  • 打赏
  • 举报
回复
函数功能:该函数设置指定窗口的显示状态。

函数原型:BOOL ShowWindow(HWND hWnd,int nCmdShow);

参数:

hWnd:窗口句柄。

nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:

SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。

SW_MIOE:隐藏窗口并激活其他窗口。

SW_MAXIMIZE:最大化指定的窗口。

SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。

SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。

SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。

SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。

SW_SHOWMAXIMIZED:激活窗口并将其最大化。

SW_SHOWMINIMIZED:激活窗口并将其最小化。

SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。

SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。

SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。

SW_SHOWNOMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。

返回值:如果窗口以前可见,则返回值为非零。如果窗口以前被隐藏,则返回值为零。

备注:应用程序第一次调用ShowWindow时,应该使用WinMain函数的nCmdshow参数作为它的nCmdShow参数。在随后调用ShowWindow函数时,必须使用列表中的一个给定值,而不是由WinMain函数的nCmdSHow参数指定的值。

正如在nCmdShow参数中声明的,如果调用应用程序的程序使用了在STARTUPINFO结构中指定的信息来显示窗口,则在第一次调用ShowWindow函数时nCmdShow参数就被忽略。在这种情况下,ShowWindow函数使用STARTUPINFO结构中的信息来显示窗口。在随后的调用中,应用程序必须调用ShowWindow 函数(将其中nCmdShow参数设为SW_SHOWDEFAULT)来使用由程序调用该应用程序时提供的启动信息。这个处理在下列情况下发生:

应用程序通过调用带WS_VISIBLE标志的函数来创建它们的主窗口函数;

应用程序通过调用清除了WS_VISIBLE标志的CteateWindow函数来创建主窗口函数,并且随后调用带SW_SHOW标志的ShowWindow函数来显示窗口;

Windows CE:nCmdShow参数不支持下列值:

SW_MAXIMINZE;SW_MINIMIZE;SW_RESTORE;SW_SHOWDEFAULT

SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE

速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:winuw库文件:user32.lib。
yang6130 2002-11-10
  • 打赏
  • 举报
回复
showwindow(handle,‘最大化的那个语句,我望了’);//这个却不对!为什么呀?
-->
showwindow(handle,SW_NORMAL);//SW_MAXIMIZED
智商无下限 2002-11-10
  • 打赏
  • 举报
回复
就这些分了,大家帮帮忙好吗???

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧