草庐IT

win32-process

全部标签

windows - 带有 User32.dll 的 LoadLibraryA 在 ntdll.dll(x64 程序集)中崩溃

所以我有一个汇编代码块,它初始化一个程序,解析kernel32,找到GetProcAddress,然后找到LoadLibarayA来加载User32.dll。它工作到LoadLibraryA为止。它在函数调用中崩溃,但我可以看到调试器中加载了User32.dll。如果我尝试在不同的模块(例如Kernel32.dll)上使用LoadLibraryA,它会返回并成功。如果你想看的话,这里有完整的源代码https://gist.github.com/mojobojo/921a5af897e86bb940a2Exceptionthrownat0x00007FFAFAE8E91C(ntdll.d

c# - 在 C# winforms 中使用 Process.Start() 运行时,NGEN Display 返回与 Elevated CMD 不同的结果

一段时间以来,我一直在努力与我的同事一起解决这个问题。我使用Ngen来制作原生图像并提高我的应用程序在客户端上的性能。假设Exe文件名为Example.exe我尝试在应用程序中做的是我做ngeninstallexample.exe,ngen将为assebmlies安装native图像然而问题来了:如果我尝试使用提升的CMD并运行C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngenDisplayexample.exe显示example.exe文件名和native图像的版本,但是,使用以下代码在Windows窗体c#中做同样的事情,它不显

windows - 如何更改 MASM32 中的链接器设置

我在Windows7(64位)中使用MASM32编辑器。默认情况下,我的链接器是“增量链接器版本5.12.8078”,它不链接我的程序。我想使用这个链接器“Microsoft(R)分段可执行链接器版本5.60.3391994年12月5日”。请告诉我如何更改我的MASM32设置并使其成为默认链接器 最佳答案 在编辑器中加载\masm32\menus.ini(您可以使用MASM32编辑器)。向下滚动到&RunProgram,"{b}.exe"[&Tools]插入两行:&RunProgram,"{b}.exe"-Build16-bit,c

c++ - mingw32-g++.exe : error: CreateProcess: No such file or directory again

这个问题在这里已经有了答案:YetAnotherMinGW"gcc:error:CreateProcess:Nosuchfileordirectory"(9个回答)关闭5年前。我找遍了,找不到解决办法。我用编译器安装了code::blocks版本。(Windows7的)每次尝试编译时,我都会收到NoSuchfileordirectory错误。我想可能是空格导致了问题,所以我单独下载并安装了ming到C:\GCC\MinGW-w64我进入了编译器设置/工具链可执行文件并定向了每条路径,因此它不会尝试从安装了code::blocks的程序文件中读取。发生同样的错误。我也试过直接进入bin文

windows - 如何正确循环/获取文本/选择 SysTreeView32 窗口项

我花了几个小时浏览Microsoft的开发中心;但是,我似乎无法弄清楚如何做以下两件事:在“导航器”子窗口的“专家顾问”部分下循环查看每个程序的名称(例如下面屏幕截图中的“MACD示例”)选择并双击该程序(例如“MACD样本”)。Winspector(Left)|Application(Right)我的主要问题似乎是我不知道如何正确使用HTREEITEM来访问信息。我注意到有一个函数ListView_GetItemText,但我找不到TreeView_GetItemText或等效函数。如有任何帮助,我们将不胜感激。下面是我的程序的主要功能:int_tmain(intargc,_TCHA

windows - 为什么 WmiPrvSE.exe 持有我进程的作业对象的句柄?

我有一个生成多个子“工作进程”的.NET应用程序。我正在使用Windows作业对象API和JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE设置来确保在父进程终止时子进程总是被杀死。但是,我观察到许多孤立进程在父进程关闭后仍在机器上运行。使用ProcessExplorer,我可以看到它们仍然正确分配给作业,并且作业配置了正确的“作业关闭时终止”设置。JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE的文档指出:“当作业的最后一个句柄关闭时,导致与该作业关联的所有进程终止。”这似乎意味着Job的句柄在某处仍然打开...我搜索了我的Job对象的句柄,并在

windows - 检查菜单项是否在 Delphi 中使用 API Win32 启用

我在这段代码中遇到的问题是,当菜单项被禁用时,然后在控制应用程序中传递代码“PostMessage”导致崩溃,因为我需要检查菜单项是否已启用,然后使用PostMessage。HandleMenu:=GetMenu(ParentAppHandle);HandleMenu:=GetSubMenu(HandleMenu,6{menuitemno});item:=GetMenuItemID(HandleMenu,12{submenuitemno});PostMessage(ParentAppHandle,WM_COMMAND,MakeWParam(item,0),0);

node.js - 使用 PowerShell Invoke-Command and Process 让标准输出出现在控制台上

我有一个使用Invoke-Command的Powershell脚本。这是被调用的代码:$scriptblock={$process=New-Objectsystem.Diagnostics.Process$si=New-ObjectSystem.Diagnostics.ProcessStartInfo$si.FileName=$cmd$si.Arguments=$cmd_args$si.UseShellExecute=false$si.RedirectStandardOutput=true$process.StartInfo=$si$process.Start()$processId=

c - malloc() 并分配 : C code in run well in OS X; not in Win 8. 1

我编写的代码在OSX中没有任何问题,但在VS2013社区上运行时出现以下错误。Unhandledexceptionat0x001A3D22inMyproject.exe:0xC0000005:Accessviolationwritinglocation0x00000000.这是有问题的代码。原来的代码多了一些行,但是下面的代码自己产生了同样的错误。#includeintmain(void){int**p;p=(int**)malloc(sizeof(int*)*5000);for(inti=0;i这是发生错误时的状态。i和p为红色。namevaluetypei4118intp0x007

c++ - 您可以在不重新打开重新打开 win32 窗口的情况下执行需要提升的任务吗?

是否可以在不重新打开整个窗口的情况下执行需要提升的任务(在我的示例中,我必须编辑注册表)?所以我有一个CPL项目,它的页面可以选择编辑我的应用程序设置(写入注册表)。是否只有当用户点击apply或ok时才可以执行此操作?但无需重新打开整个cpl窗口。 最佳答案 Alf的评论已经说明了很多:不。Windows与进程绑定(bind),进程创建后无法提升。当然,您可以有第二个子进程,它实际上不显示任何东西,只是执行请求的任务。或者,您可以定义自己的COM对象来执行请求的任务,然后使用COMElevationMoniker在需要时以提升的状