- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 Vista/Win7 UAC 同意对话框在任务栏中最小化时,如何(如果可能的话)将其置于前台?
例如,考虑以下场景:
我的应用程序在启动期间检查更新,它下载新的更新文件并通过在 Process.StartInfo 中提供管理员密码来执行它,之后我的应用程序关闭。
此时,如果用户或 Windows 本身设法从 MSI 安装程序窗口失去焦点(可能通过单击桌面或其他窗口),UAC 会发现安装程序窗口不是前台窗口,因此会弹出一个闪烁的同意对话框进入任务栏。
一些不太聪明的客户不明白我的应用程序尚未完成更新并尝试重新启动应用程序。在这个阶段,我可以枚举正在运行的进程并找到在任务栏中闪烁的 consent.exe。
问题是我不能把它带到前台。我尝试使用不同的参数(恢复、显示、正常)从 user32.dll 调用 ShowWindow(),但没有任何反应。我确实检查了进程 MainWindowHandle,它似乎没问题(它不是零或负数)。我猜问题在于 UAC 为同意对话框(安全桌面)创建了不同的桌面 session 。
如果用户可以点击任务栏中的闪烁图标将同意对话框带到前台,那么应该也可以通过代码来模拟吗?
附言!我正在使用 C#
最佳答案
你试过了吗SetForegroundWindow ?此外,在 native win32 中,实际上并没有所谓的主窗口,一个进程可以有 0 个或任意数量的“主窗口”,但在 consent.exe 的情况下,我猜它只有一个......
编辑:
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
char buf[50];
*buf=0;
GetClassName(hwnd,buf,50);
buf[sizeof("$$$Secure UAP")-1]=0;
if (!lstrcmp("$$$Secure UAP",buf))
{
SwitchToThisWindow(hwnd,true);
}
return true;
}
...
EnumWindows(EnumWindowsProc,0);
这将切换到安全桌面,但我不建议使用它,因为:
问题是同意窗口不是一个拥有的弹出窗口,如果它是你可以确定你得到了正确的 HWND。希望 Win8 将同意充当自有弹出窗口,或者更好的模式对话框。
关于c# - 如何以编程方式将 UAC 的 consent.exe 带到前台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525479/
我正在尝试在 Android 上实现以下设计。 我知道要在那个位置放置按钮,我应该有两个约束布局;一种用于整个更改密码表单,另一种用于不带保存按钮的更改密码表单,然后将保存按钮的 Top 和 Bott
我必须从原始数据中获取声音并在listview中显示它们,我可以做到这一点,但名称与原始数据中的文件夹名称相同。 如何用我想要的名称更改它们?(还将播放的歌曲写入 TextView ) Here is
这很令人困惑,我已经阅读了 StackOverFlow 中的文档和其他一些问题。我只是不明白(或者答案不符合我的需要) 事情是这样的:我有一个 php,其中有两个来自 SQL 查询的值。到目前为止,一
我有一种设计模式,但我不确定如何创建它。它应该是这样的: 我仍在努力将 ImageView 放在卡片 View 前面。对此有任何想法或如何做到这一点的例子吗?谢谢! 这是我所做的:
我目前正在使用 Swift 编写游戏,但遇到了一些问题。基本上,我在 Storyboard中创建了所有 UI,并为每个屏幕(主菜单、设置、存储、播放等)提供了相应的 View Controller 。
在我的应用程序中,用户在 map 上绘制了一个形状并使用 UIBeizerPath 我正在绘制该路径。然后根据路径的坐标,我显示仅在该区域的结果。一切都很好,除了现在当注释落在 map View 上时
我有一个滑动 Pane 布局,左侧是一个 ListView ,右侧是一个包含我的 fragment 的 Pane 。当我单击 ListView 项时,我的 fragment 会正确加载到右侧 Pane
我有以下代码: public class MainActivity extends ActionBarActivity { EditText userfield; EditText p
我想把最后一列“描述”放到下一行 这是 fiddle http://jsfiddle.net/pratbhoir/fNhKp/12/ 应该是这样的我需要表格,描述td必须在同一个tr中。 Item n
我确定这很简单,但我似乎无法弄明白。我基本上是在尝试使用 C++ 生成 HTML 字符串并将其返回以存储在 Objective-C 模型类中,以便稍后在 Web View 中使用。 它的 C++ 端似
我正在使用 Mapbox SDK (SWIFT) 并创建了我的自定义 map 。我在 Storyboard的 map 上添加了一个按钮和图像,但是当我运行该应用程序时,它似乎隐藏在后面。我尝试了所有方
我有一个文本编辑器,其中有一个图像工具,它有一个插入功能,可以在左侧和右侧添加边距,但如果您想将图像移到父容器之外,则只有左边距有效,但右边距只是停在边缘容器 .draft-bg { paddin
我创建了一个可消耗的 COM 类库。 类库获取相机的图像。它的类型为图像/位图。 我在VB6中使用类库,我需要在VB6中显示这个图像。 如何将此 System.Drawing.Image 转换为 VB
我正在从 Ruby 转向 Objective-C,并且我一直在做: NSObject *foo; @property (nonatomic,retain) NSObject *foo; 在 .h 文件
我有一个项目需要 Android、iOS 和桌面模块来连接到 GAE 后端。 我通过 Android Studio 创建了后端,它工作正常。 据我了解,Android Studio 会生成端点类文件,
好吧,基本上我有一个带有一系列稍微重叠的 subview 的 View 。单击 subview 时,它会通过非常简单的两行代码移动到顶部(除其他外): -(void)mouseDown:(NSEven
在 sonarqube 服务器(版本 5.4)上,我为 C# 创建了一个新的质量配置文件,并且启用了一些规则,例如“CA1001:拥有一次性字段的类型应该是一次性的”。我已将此新配置文件定义为默认配置
Eclipse 有很多特性可以为开发者节省很多时间,例如: 1) 覆盖/实现方法... 2) TODO 列表... 3) 快速访问文档...(可能还有其他内容) 是否有任何适用于 VS 2010 的插
我是一名优秀的程序员,十分优秀!