Articles of 进程

通过GCC的Win64的Python扩展

有没有人有使用mingw64编译Windows的64位Python扩展模块的运气? 我已经成功地为VS2008编译了这个平台的扩展。 我也用mingw32(用一个32位的python)编译它。 我宁愿两个版本都使用GCC。 我已经使用Cygwin安装了mingw64-x86_64-w64 GCC 4.5.1工具集,并说服Python使用它们。 但是,链接到python本身失败。 所以我拿起pexports 0.44,用它来转储一个python26.def文件,并创buildlibpython26.a 。 现在,正如在这个问题中 ,我从Python获得的唯一链接错误是关于__imp_py_InitModule4 。 浏览def文件,我看到一个Py_InitModule4_64符号。 有任何想法吗?

Windows SDK – C# – debugging进程退出,错误代码为-1073741502

简洁版本 你怎么知道当一个进程退出,错误代码为-1073741502哪个DLL无法加载(可能是为什么)? 长版 我正在尝试为Mercurial编写一个pretxnchangegroup钩子,作为该钩子的一部分,我需要获得运行该命令的输出: hg log 我用来启动和运行hg.exe进程的代码如下所示: string Command = "log"; Process p = new Process(); ProcessStartInfo psi = p.StartInfo; p.StartInfo.FileName = @"C:\Program Files (x86)\Mercurial\hg.exe"; psi.CreateNoWindow = true; psi.LoadUserProfile = true; psi.RedirectStandardError = true; psi.RedirectStandardOutput = true; psi.UseShellExecute = false; psi.WorkingDirectory = Environment.CurrentDirectory; p.StartInfo.Arguments = Command; // Pass-through environment variables psi.UserName = Properties.Settings.Default.HG_User; psi.Domain = […]

一个x86 excutable可以在64位操作系统上使用多less内存?

我认为这个问题听起来很清楚,但要进一步解释: 假设我们有装有8GB内存的Windows 7 x64个人电脑, ( 64位操作系统与32位进程是我的意图 ) 问题1:一个64位进程在这个环境中可以使用多less内存? 问题2:在这种环境下, 32位进程可以使用多less内存? 问题3:如果一个32位的进程在这个环境下只能使用2GB的内存(即使是大地址空间大小:3GB),但大多数游戏都是32位的,所以这意味着:虽然我们安装了8GB内存,例如一个游戏在任何时候只能使用2-3GB的RAM?

我如何启动资源pipe理器使用c#中的进程类

我已经用我的应用程序取代了Windowsshell,它完美的工作,closures我的应用程序后,我必须启动Windows资源pipe理器与下面的一段代码 代码启动资源pipe理器 Process.Start(@"c:\windows\explorer.exe"); 我用来replaceshell的registry项 HKEY_Local_Machine\Software\Microsoft\WindowsNT\CurrentVersion\WinLogon\Shell 它不显示任务栏和开始菜单,它只显示mydocuments文件夹。 在资源pipe理器启动后,我需要启动菜单和任务栏

如何从32位WOW进程中枚举64位进程中的模块

我有一个要求在Windows 32位WOW进程中检索一个64位进程的所有模块, EnumProcessModules将失败,如下所述: 如果从在WOW64上运行的32位应用程序调用此函数,则只能枚举32位进程的模块。 如果进程是64位进程,则此函数失败,最后一个错误代码为ERROR_PARTIAL_COPY(299)。 至于EnumProcessModulesEx和CreateToolhelp32Snapshot。 你有什么想法如何实现它? 谢谢。

Delphi 7的forms,主持人不在Vista中工作

该软件build立在Delphi 7上。 在我的XP机器上,窗体的大小如我所料。 但是,在两台Vista机器上,我有一些组件,其锚点设置为[akLeft,akTop,akRight,akBottom],但是当调整表单的大小时,组件不会随着表单拉伸,在右侧和底部边缘留下空白。 在XP机器上,组件正确地拉伸forms。 所以,Vista机器似乎忽略了锚定属性。 任何想法是什么造成这一点,以及如何解决它? 重要更新(弗朗索瓦): 我们在D2007应用程序和所有x64窗口上遇到了同样的问题。 安德烈亚斯的答案确实是解决的办法。 所以这不是D7也不是Vista相关的。

如何使32位Perl读取64位Windowsregistry?

我有一个32位的Perl安装程序。 使用这个我需要能够安装和卸载32位和64位应用程序。 安装32位和64位是好的。 卸载32位也是好的。 但是,卸载64位应用程序时遇到问题。 应用程序只知道应用程序的名称,如控制面板中的“添加删除程序”所示。 例如,它可以是Winzip的显示名称“Winzip 14.0”。 我使用以下方法进行卸载:我遍历到HKLM/Software/Microsoft/Windows/CurrentVersion/Uninstall并parsing当前存在的密钥,以查看Winzip是否匹配。 如果是的话,我从那里得到卸载string。 my $register = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"; $HKEY_LOCAL_MACHINE->Open($register,$hKey)|| die $!; #Then parse all the nodes and fetch the uninstall string 如果应用程序是64位安装,则卸载信息将驻留在HKLM/Software/Microsoft/Windows/CurrentVersion/Uninstall 。 但是上面给出的perl安装程序代码试图从HKLM/Software/WOW6432Node/Microsoft/Windows/CurrentVersion/Uninstall 并没有在那里find安装。 那么如何让在32位进程中运行的Perl代码读取64位configuration单元中的registry值呢? 我知道使用KEY_WOW64_64KEY参数的RegOpenKey() API。 但由于它是一个Windows API,我不知道这是否会有所帮助。 即使如此,还有其他的select吗?

在32位和64位Windows版本上的进程大小和行为差异

我正在调查我的应用程序的一个奇怪的问题,其中2个版本的Windows的行为是不同的: Windows XP(32位) Windows Server 2008(64位) 我的发现如下。 Windows XP(32位) 在运行我的testing场景时,XMLparsing器在parsing一个非常大的configuration文件的过程中某个时候失败(请参阅此问题以获取更多信息)。 在失败时,进程大小约为2.3GB。 请注意,registry项已设置为允许进程超过默认的最大进程大小(在32位操作系统上)为2GB。 失败的系统是调用IXMLDOMDocument::load()失败,如上面链接的问题中所述。 Windows Server 2008(64位) 我在Windows Server 2008中运行完全相同的testing场景 – 唯一的variables是操作系统。 当我看着我的任务pipe理器下的进程,它旁边有一个* 32 ,我假设它意味着它在32位兼容模式下运行。 我注意到的是,在Windows XP上XMLparsing失败的地方,Windows Server 2008上的进程大小只有大约1GB(IOW,大约是Windows XP的一半进程大小)。 在Windows Server 2008上,XMLparsing不会失败,它一切正常。 我的问题是: 为什么32位应用程序(以32位模式运行)在64位操作系统上占用一半内存量? 是真的使用了一半的内存,它是不同的通常的虚拟内存,还是其他的东西? 确认我的应用程序(似乎)使用Windows Server 2008上的一半内存量,没有人有任何想法,为什么XMLparsing将在Windows XP上失败? 每次运行testing用例时,通过IXMLDOMParseError访问的错误(请参阅此答案 )是不同的。 因为这似乎是非确定性的,它暗示我正在遇到内存使用问题,而不是处理格式不正确的XML。

SQLite3.dll的Windows 7 64位

在我的C#应用​​程序中,我使用了32位体系结构的sqlite3库,并且工作正常。 要使用它,我已经将sqlite3.dll文件复制到我的/ bin目录中,并创build了一个名为SQLiteWrapper的类,该类使用此语句导入sqlite.dll [DllImport("sqlite3.dll", EntryPoint = "……..")] 现在,我应该下载这个DLL文件还为64位体系结构。 我可以在哪里下载?