如果Windows资源管理器任务栏设置为自动隐藏,如何通过Delphi程序告诉?
我正在使用 C#.Net 创建一个 Windows 应用程序。我在使用以下代码启动应用程序时显示一个表单:
Form myForm = new MyForm();
Application.Run(myForm);
Run Code Online (Sandbox Code Playgroud)
应用程序没有出现在任务栏中,但我知道它正在运行,因为我可以使用 Alt-TAB 导航到应用程序窗口。
如果我使用myForm.ShowDialog(),应用程序在任务栏中可见。
我在这里缺少什么?
更新:ShowInTaskbar表单的属性设置为 true。UPDATE2:FormBorderStyle设置为None
我需要知道任务栏是否已分配,但已选中"自动隐藏任务栏"并暂时隐藏任务栏.我有一个函数返回任务栏的高度(如果已分配),否则返回零.
但是,如果已设置Windows"自动隐藏"选项,则功能仍会返回任务栏的高度,尽管在光标移动到屏幕的下边缘之前它不可见.
当我设置Image.Height:= Screen.Height-MyTaskbarHeight时,它会设置图像高度,就好像任务栏一直可见.
在伪代码中,我需要的是
if Taskbar.Assigned then
if Taskbar.AutoHide.Checked then // Assume it is hidden
Image.Height:=Screen.Height else
Image.Height:=Screen.Height-MyTaskbarHeight;
Run Code Online (Sandbox Code Playgroud)
有什么建议?
谢谢
目前,我需要在C ++ / Qt中检测设置为“自动隐藏”的任务栏在屏幕上是否可见。我已经尝试了以下解决方案,但是没有成功:
使用uState =(UINT)SHAppBarMessage(ABM_GETSTATE,pabd)检查自动隐藏状态,这仅返回是否设置了自动隐藏属性
使用SystemParametersInfo(SPI_GETWORKAREA,0,&rectWorkArea,0)获取工作区;不幸的是,当任务栏设置为“自动隐藏”时,工作区始终是整个屏幕的大小,即使它实际上在屏幕上可见
使用SHAppBarMessage(ABM_GETTASKBARPOS,&abd);获取AppBarData;使用此功能,我可以同时获取任务栏的大小和坐标,但是,即使隐藏了任务栏,也总是将其返回,就好像任务栏是可见的一样。
因此,使用这些方法我无法分辨,是否在给定的时间在屏幕上显示了启用“自动隐藏”的任务栏:-(
我将不胜感激任何帮助 :-)
我想更改在Windows 7任务栏上下文菜单中显示的应用程序名称.

我的应用程序目前显示我的应用程序名称.我想把它改成像微软产品那样的东西

我的应用程序使用Prism框架,我想要显示的应用程序名称将决定模块的类型.所以我想动态设置应用程序名称.
我正在创建一个基于显示一些用户应该接受或拒绝的通知的应用程序
如何在不在任务栏上方的屏幕右下方显示请求表单?

代码:
notificationForm ntf = new notificationForm();
ntf.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏
如屏幕截图所示,我的ProgressBar1.Value更新正常,但不是我的TaskbarItemInfo.ProgressValue:

这是我用来更新两者的代码:
void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Set the Value porperty when progress changed.
this.ProgressBar1.Value = (double)e.ProgressPercentage;
this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
this.TaskbarItemInfo.ProgressValue = e.ProgressPercentage / 100;
}
Run Code Online (Sandbox Code Playgroud)
如何TaskbarItemInfo正确进行更新?
我正在使用 PyQt4。我可以最小化和最大化窗口,但无法通过单击任务栏图标来最小化它。
该程序由py2exe编译并在任务栏中显示为“python.exe”。如何捕捉点击事件?
我正在使用 QWebView。该事件QWebView.event(e)没有帮助。
下一个代码提供窗口状态更改的事件:
...
class LauncherView(QWebView, object):
def __init__(self, QWidget_parent=None):
super(LauncherView, self).__init__(QWidget_parent)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setContextMenuPolicy(Qt.CustomContextMenu)
self.resize(801, 601)
...
def event(self, e):
if e.type() == e.WindowStateChange and self.windowState() & QtCore.Qt.WindowMinimized: # Event if I click the minimize button
self.showMinimized()
elif e.type() == e.WindowStateChange and self.windowState() == QtCore.Qt.WindowNoState: # Event if I restore the window by clicking on taskbar
self.showMaximized() # or showNormal
elif ???????: # What event I must catch if I want to minimize window by …Run Code Online (Sandbox Code Playgroud) 我创建了托盘图标 System.Windows.Forms.NotifyIcon
但是,申请结束后.图标继续保持不变,直到我手动将鼠标悬停在它上面.
在运行新实例时,如何防止它延迟或清除所有旧的?