我正在寻找示例代码:
对于服务调用CreateProcessAsUser()我希望进程在用户的会话中运行,而不是在会话0中运行
到目前为止,创建的进程只在会话0中像服务一样运行
windows winapi windows-services createprocessasuser windows-7
我正在寻找一个Win32 API调用来返回我的进程的运行时上下文.我希望能够以编程方式测试我是作为服务运行还是作为标准应用程序进程运行.
想到了几个想法....因为我总是有服务DAD.exe,有时作为他的孩子和服务上下文运行SON.exe ---有时SON.exe不是由DAD和用户启动的.
SON.EXE会做API whoami()来了解他正在运行的上下文.
现在DAD可以创建一个环境var - 然后SON可以测试这个变量 - 如果发现他知道他是DAD的儿子并因此作为服务运行.....但这很弱......
另一个想法是查看我的SID或令牌,看看我是否可以做出这个决定....再次看起来最好比单个API检查更复杂......
使用Visual Studio 2010远程调试C#.dll - 获取.PDB文件不匹配 - 任何它绝对是来自构建...............
新信息:[[此问题尚未解决.我有三台电脑:a)XP sp3,b)XP sp3和c)Vista sp1,我可以在a)和c)上构建最简单的测试程序,并使用模块窗口 - 选择我的test5.exe并加载创建它时创建的.pdb - 同一个日期同一时间相同的文件夹...但是Visual Studio说"在此文件夹中找不到匹配的符号文件" - 所有加载正确的.pdb的努力都失败而没有匹配投诉....是:a)远程b)或c) - 或 - c)远程a)或b)---帮助!]]
我已经隐式和明确地设置了.PDB的位置 - 无所谓....
我已将符号设置设置为取消选中源文件必须完全匹配....
我没有看到Errs ....
只是:
C:\POSWIN\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\obj\Debug\DBS.KGW.tst7.pdb: PDB does not match image.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\symbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\DBS.KGW.tst7.pdb: PDB does not match image.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\MicrosoftPublicSymbols\symbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB file.
C:\Projects\SP\DBS.KGW.tst7STUB\DBS.KGW.tst7\bin\Debug\MicrosoftPublicSymbols\DLL\DBS.KGW.tst7.pdb: Cannot find or open the PDB …Run Code Online (Sandbox Code Playgroud)