Visual Studio 2013 是否使用比手动运行.exe更高的权限运行应用程序
Does Visual Studio 2013 run applications with higher permission than manually running the .exe?
我注意到一些非常奇怪的事情。如果我从VS2013运行以下代码,它会按预期工作。但是,当我手动双击已编译的.exe时,它不会。这让我相信VS2013以某种方式启动具有提升权限的应用程序。
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
printf("You have 5 seconds to open a Metro App. nThen we'll try setting the TaskBar as the foreground window.nn");
Sleep(5000);
printf("Setting Taskbar as foreground window now... n");
SetForegroundWindow(FindWindow(L"Shell_TrayWnd", NULL));
getchar();
return 0;
}
从VS2013运行时:即使打开了Metro应用(占据全屏),在将任务栏设置为前台窗口后,用户也会返回到桌面。
双击.exe时:如果 Metro 应用程序是前景窗口,则不会发生任何反应。
作为旁注,我尝试右键单击并"以管理员身份运行",但是仍然没有效果。这就更令人困惑了。有人知道这里发生了什么吗?
另外,我正在运行Windows 8.1 Preview。
否,它使用相同的权限运行调试的应用程序。
但是,如果您阅读手册,您会发现权限与它无关。但正在调试的内容会显式列出。
不能简单地"双击"WinRT 应用的 exe。 有一个不同的应用启动模型,它为 exe 创建进程。 这是通过包应用程序/激活完成的,这也是设计人员所做的。 因此,如果对应用程序进行 F5 操作,它将运行,因为它使用 WinRT 激活机制。
我和Microsoft的人谈过这个问题。看起来是文档有点不准确。"正在调试前台进程"应类似于"正在调试调用进程"。它将很快更新。
相关文章:
- 使用参数在 C# 的C++上运行.exe
- C++程序编译器在使用g++命令编译后自动运行exe文件
- 从 CMD 运行.exe并自动向其传递参数
- 如何使用管理员权限运行 EXE
- 操作系统如何决定如何运行.exe
- 在不同的计算机上运行.exe文件.(视觉工作室)
- 在 Windows 命令行中运行.exe在使用 2 种相同方式执行时会产生不同的输出
- 在Visual Studio 2017中使用Qt库的CMake项目:运行exe时找不到Qt dll
- 使用 qprocess 运行.exe
- 运行EXE形成另一个EXE并传递参数
- 运行 exe - C++ 时找不到入口点
- 在服用 PATH C++后运行.exe
- 在 Node.JS 中运行.EXE
- 运行.exe的 main(),作为.dll的一部分
- 在win2k3上运行.exe时发生"The procedure entry point GetErrorMode could not be located in the dynamic link l
- 在另一台计算机上运行.exe文件时"Missing MSCVP140.dll"和"Missing VCRUNTIME140.dll"
- 在Linux中运行exe
- 从另一个 exe 运行 Exe
- 如何编译项目后不运行exe文件
- 如何在任何Windows计算机上运行.exe文件