- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
谁能帮帮我?我想创建一个应用程序,例如用户访问控制 (UAC) 应用程序。当 UAC 运行时,我们不能点击屏幕上的任何地方,除非我们关闭 UAC 窗口。我们也不能按任何键做任何事情,比如窗口键或任何功能键。所以我想使用 C++ 代码创建一个类似的应用程序来控制键盘和鼠标,只有鼠标和键盘在我的应用程序窗口中启用并在外部禁用,除非我不关闭我的应用程序我不能执行任何其他任务。我的应用程序只是一个带有关闭按钮和上述控件的简单图形窗口。
最佳答案
很久以前,Windows 支持系统模式对话框。这些将阻止用户与包括桌面在内的其他窗口进行交互。由于它引起的问题,Microsoft 很久以前就取消了对此的支持。
现在,当 Windows 需要为 UAC 提供系统模式窗口时,他们会使用一些桌面魔法。为了模拟系统模态窗口,UAC 会执行类似的操作。
现在他们有一个桌面,看起来像旧的一样,就像一个系统模型窗口一样。然后您可以自由地创建一个子窗口来获取用户的输入。下面的例子展示了如何创建一个桌面并切换到它,应该是你想做的事情的一个很好的起点
// TODO: Make a copy of the current desktop
// Prepeare a new desktop and activate it
HDESK oldDesktop = GetThreadDesktop(GetCurrentThreadId());
HDESK desktop = CreateDesktop(L"MyDesktop", NULL, NULL, 0, GENERIC_ALL, NULL);
SwitchDesktop(desktop);
// TODO: Create the window that draws the snapshot of the old desktop
// TODO: Create a dialog with buttons and stuff
// Since we don't have a window sit for 5 seconds staring at blank screen
Sleep(5000);
// Switch back to the old desktop and destroy the one we created
// ALERT: If we crash or exit without doing this you will need to
// restart windows
SwitchDesktop(oldDesktop);
CloseDesktop(desktop);
您可以在 desktop related API's 上找到更多信息
关于java - 如何像UAC窗口一样控制键盘和鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000423/
我在使用 UAC 时遇到问题,并以其他用户身份执行非交互式进程(API,例如 CreateProcessAsUser 或 CreateProcessWithLogonW)。 我的程序旨在执行以下操作:
我有一个 VB6 应用程序,我已经销售了 12 年多。有时我的用户很难让应用程序运行。数据写入将进入/My Documents,因此除了安装文件(EXE 等)之外什么都没有进入 C:\Program
我见过几个与此相反的问题; “如何禁用虚拟化?”那不是我的问题。我想强制应用程序运行虚拟化 启用 . 我有一个在 Windows XP 下运行良好的应用程序,但是,因为它将其配置写入其工作目录(“C:
我有一个应用程序需要管理员权限才能执行某些操作。我只想在启动时显示 UAC 提示,然后提升。我不确定该怎么做,但我听说过诸如 list 之类的东西,但在任何地方都看不到明确的答案。 最佳答案 您需要一
我真的不明白Windows UAC ... 我需要我的程序能够更新文件并将文件添加到属于程序的特定目录。该目录可能是 Program Files 中应用程序的子目录,例如 c:\Program Fil
我一直在互联网上寻找答案,但似乎没有直接回答,所以我想我会问。 案例场景:我想截取当前在计算机屏幕上的内容。如果是 Windows 登录屏幕,我希望它是那样。如果它是事件用户的桌面,我想成为那个。如果
我希望这是我关于这个 SIP 主题的最后一个问题,我已经设法克服了最后一个 issue我曾通过请一位 friend 从远程计算机帮助我,我能够在计算机之间进行连接,但根据所有 examples 的说法
我有一个BHO,可以将网页捕获为图像,然后运行另一个过程pngcrush如此创建的图像。我在启用UAC的系统中面临的问题是,每次IE运行时,我都会收到关于从BHO生成的pngcrushing进程的警告
我的产品需要更改文件关联。为了允许它在 Vista 中以非管理员身份运行,我已将注册表更改代码移动到名为“assocsetup.exe”的单独二进制文件中。 启动时,Vista UAC 会正确请求以管
我使用 WiX 3.6 构建了一个 Windows Installer 程序包,其中嵌入了自定义托管 (C#) 操作。 在此阶段,安装要求 使用特定的本地管理员帐户(在本例中为 SharePoint
我的应用程序由服务器和客户端界面组成。我希望客户端能够请求服务器写入注册表项。现在我对 java 库进行了研究,发现了一些库。问题出在管理员权限上。当我运行一个简单的 java 程序从注册表中读取数据
我正在为我的应用程序制作一个安装程序,它在 xp 上工作正常,但在 vista 上,UAC 会出现问题,除非我以管理员身份运行,安装后运行我的应用程序时会出现意外错误,知道吗?我正在将应用程序安装在
我在 Vista/7 上遇到 UAC 问题。我的 UAC 执行级别 = requireAdministrator 的安装程序安装并运行我的应用程序。应用程序 UAC 执行级别 = asInvoker。
我已经使用 Verisign 签署了我的应用程序,将所有注册表变量存储在 HKCU 中以避免请求管理员权限,但 UAC 命令仍然提示用户他/她是否希望以下内容对其计算机进行更改。我该如何防止这种情况发
首先,我想强调的是,我并不是想做任何“下流”或“骇人听闻”的事情,也不是想对用户隐瞒任何事情。 在我的应用程序安装(使用 InstallShield LE)期间,Windows UAC 提示用户允许它
我有一个没有资源的应用程序(根本没有,所以也没有 UAC list )。此应用程序使用 CopyFile 将自身安装到 appdata/roaming 文件夹。它还设置了自动启动,因此它会在每次启动时
我已经阅读了几个关于 UAC 和特权提升的问题,但没有找到令人满意/全面的答案。 我有这种情况:在 Windows 6 或更高版本上,当用户打开配置窗口时,我必须在确定按钮上显示盾牌(BCM_SETS
我有一个类库,它在注册表 (HKLM\Software\XXX) 中保存系统范围的配置数据。该库用于各种 Windows 版本(XP、2003、7、2008 R2)上的各种应用程序(服务、Window
显示 UAC 提升提示时是否触发了任何窗口事件?我看过 SwitchDesktop,但看不到任何关于如何接收通知的提及。 我的 direct show 应用程序表现不佳,我希望能够在显示提示时暂停图表
我有兴趣在临时 session 中启动一个窗口,例如 UAC 提示的显示方式。一些人对这个概念有些兴趣,所以我想我应该在这里问一下。本质上,我们想要的是一个提升的窗口,例如 UAC“您确定要”提示,但
我是一名优秀的程序员,十分优秀!