我正在编写一个程序,我只是想知道如何在Windows 95中放置看起来像的按钮:
http://www.aos.co.za/98/win95servertypes.gif
我正在使用Visual C#Express 2010和Winforms.
这可能在我上面描述的编译器/ IDE中吗?
我试图实现古老的德尔福梦想,在任务栏中出现一个无模式的形式.
在任务栏中显示无模式表单的正确方法是什么?
这些是我尝试解决问题的方法.要使其正常运行需要很多东西- 只需在任务栏上显示一个按钮就不是解决方案.让Windows应用程序作为Windows应用程序正常运行应该是我的目标.
对于那些了解我的人,以及我的"展示研究成果"的深度,坚持下去,因为这将是一个疯狂的骑兔子洞.
问题在标题中,以及上面的水平线以上.以下所有内容仅用于说明为什么有些经常重复的建议是不正确的.
最初我有我的"主表格",从中我展示了另一种无模式形式:
procedure TfrmMain.Button2Click(Sender: TObject);
begin
if frmModeless = nil then
Application.CreateForm(TfrmModeless, frmModeless);
frmModeless.Show;
end;
Run Code Online (Sandbox Code Playgroud)
这会正确显示新表单,但任务栏上不会显示任何新按钮:
没有创建任务栏按钮的原因是因为这是设计的.Windows将仅显示"无主"窗口的任务栏按钮.这种无模式Delphi形式绝对拥有.在我的情况下,它由以下所有Application.Handle
:
我的项目名称是ModelessFormFail.dpr
,Modelessformfail
与所有者关联的Windows类名的来源.
幸运的是,有一种方法可以强制 Windows为窗口创建任务栏按钮,即使窗口是拥有的:
WS_EX_APPWINDOW
MSDN文档WS_EX_APPWINDOW
说:
WS_EX_APPWINDOW
0x00040000L
当窗口可见时,强制顶层窗口进入任务栏.
它也是一个众所周知的Delphi技巧,可以覆盖CreateParams
并手动添加WS_EX_APPWINDOW
样式:
procedure TfrmModeless.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW; //force owned window to appear in …
Run Code Online (Sandbox Code Playgroud) 我有一个窗口,我想最小化(到任务栏),所以我打电话ShowWindow
:
ShowWindow(Handle, SW_MINIMIZE);
Run Code Online (Sandbox Code Playgroud)
除了不是最小化自身(到任务栏),窗口被图标化:
窗口是无人值守的:
如何最小化任务栏的窗口?
更新:
根据2002年的一些建议,我尝试设置WS_EX_APPWINDOW
窗口样式和/或确保窗口没有所有者:
不幸的是,这改变了我的(Delphi)应用程序的行为,因为我的应用程序现在有两个任务栏图标,而不是一个:
当然,这是Delphi(5)的神器; 因为我试图解决另一个问题.
但这不应该影响这个问题.我正在调用ShowWindow(..., SW_MINIMIZE)
API,而不是最小化窗口Windows正在图标化应用程序.
如何最小化任务栏的窗口?
我错误地认为我使用VS 2012编写的C++程序可以在运行Windows 95的计算机上运行.
现在我知道为什么它不起作用.所以我看了一下其他免费的编译器,比如Dev-C++ 5,但是经过Dev-C++网站的论坛后,它似乎也无法用于制作与Windows 95兼容的应用程序.
所以我的问题是,我应该使用什么来编译我的C++应用程序,以便它可以在Windows 95和95到8的所有其他版本的Windows上运行?
编辑:没有合适的答案.
我不介意为不同的Windows版本构建不同的.exe.
编辑:问题解决了!
感谢所有在此讨论中提供帮助的人.
使用MingW和代码块我只需要20分钟就可以将代码调整到Win 95友好库...并且需要一整天才能在VM中安装Win 95.
c++ compiler-construction visual-studio windows-95 visual-studio-2012
以下Windows 95屏幕截图使用了什么字体,如何在CSS3中引用它(不对字母的边缘进行平滑处理)?
我最近在装有Windows 95的旧机器上安装了VC++ 6.0.在Windows 95上有一个使用OpenGL制作的3D迷宫屏幕保护程序,但计算机没有3D视频卡.我想知道如何在没有3D视频卡的3D迷宫中制作3D图形.
如果您知道一本好的教程或书籍,我会对您的建议感到满意.