草庐IT

windows - Haskell 32 位程序在 64 位 Windows 上卡住

我正在使用GHC在名为citeproc-hs的特定(Haskell-)库的帮助下为Windows构建一个haskell程序。在32位WindowsXP机器上,应用程序工作正常,而在另一个Windows764位环境(在3台不同的PC上测试)上,“读取特定文件(“样式”文件)的库的函数只是卡住而没有任何错误消息。我使用相同的.exe文件,但存在我无法解释的不同行为。可能存在一些关于32位Haskell的已知问题-在64位环境中编译,或者有人知道我如何解决这个奇怪的问题吗?提前致谢! 最佳答案 我在生产环境中的64位Windows上使用G

c - 通过 mingw 编译 win32 项目时缺少 sal.h

错误信息:fatalerror:sal.h:Nosuchfileordirectorycstudyline11,externallocation:C:\ProgramFiles\MicrosoftSDKs\Windows\v7.0A\Include\specstrings.hC/C++Problem.但是当我将VC/include添加到这个项目时,我收到了大量的错误信息。VC/include/sal.h似乎不是GCC的标准头文件。源码很简单:#include"windows.h"intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInst

windows - 在 Windows 注册表项 Shell\Open\Command 中指定当前目录

我已将文件扩展名与我的程序相关联。在Windows注册表中,这显示为HKCR下的一个键,看起来像这样:shell\open\command(Standard)"c:\blabla\MyProgram.exe""%1"当我双击具有适当扩展名的文件时,我的应用程序将以文件的完整路径名作为参数启动。这正是我想要的,所以很好。另外,程序的当前目录设置为我点击的文件目录。这不是我想要的;那么有什么方法可以指定另一个目录应该用作当前目录而不是单击文件的容器?(我意识到我可以使用适当的当前目录向我的程序添加一个参数,然后让程序切换到该目录;我只是想知道是否有我不知道的标准方法来执行此操作。)

windows - 在 Win32 GUI 应用程序中使用标准输出 : crashes if I don't have a redirect to file in arguments

我正在构建一个Win32GUI应用程序。在该应用程序中,我使用了一个旨在用于命令行应用程序的DLL。假设Foo.exe是我的GUI应用程序,而bar()是DLL中的一个函数,它将“hello”打印到标准输出。Foo.exe调用bar()。如果我从命令行运行Foo.exe,重定向(>)(即Foo.exe>out.txt),它将“hello”写入out.txt并正常退出(如预期的那样)。但是,如果我运行Foo.exe而不重定向(从cmd.exe或通过在Windows资源管理器中双击),它会在调用bar()时崩溃。如果我在调试器中运行Foo.exe,在命令行中使用重定向(通过项目的VS属性设

c++ - 与 shell 脚本不同,批处理文件不可执行吗?

我正在使用boost.process来运行带有一些给定输入的外部进程。用户可以指定该外部进程。所以大多数时候用户指定一个shell脚本或批处理脚本。我只是在做boost::process::launch(_script,arguments,context);它既适用于真实的可执行文件,也适用于shell脚本,只要它们是可执行的(+x)预期的。但是当我在Windows中运行它时。如果我在_script中传递一个批处理文件,它不起作用,但是如果我指定一个真正的可执行文件,它就可以工作。这让我觉得在Windows中批处理脚本根本不是可执行文件?它们只是通过cmd.exe进行解释!这是真的吗?

windows - 如何以管理员身份在 rake 任务中运行 shell 命令?

我有一个简短的.cmd文件,我想在我的部署过程中运行它。不幸的是,.cmd文件需要管理员权限。是否可以从rake中获得管理员权限,或者我是否需要以管理员身份启动shell? 最佳答案 你可以试试runas命令。我不知道你的rake任务是什么样的,但如果你正在运行Kernel#system,试试task:foodosystem"runas/profile/user:#{ENV["COMPUTERNAME"]}/Administratormybatchfile.cmd"end唯一的问题是,runas会在shell中提示输入凭据。因此,您

c++ - 如何使用 C++ 检查窗口句柄是否在 Win32 中以管理模式运行?

这个问题在这里已经有了答案:Howtocheckifaprocesshastheadministrativerights(2个答案)关闭8年前。我有应用程序的窗口句柄。如何确定应用程序是否在管理员模式下运行?

windows - 为什么 Windows Shell 上下文菜单处理程序会破坏 Windows 8/10 上的高级用户菜单 (Win+x)?

我的自定义Windowsshell上下文菜单处理程序非常有用,适用于从XP到7的所有Windows版本,但在Windows8、8.1和10上,安装它会破坏Win+X菜单(有时称为“高级用户菜单”,或“快速访问菜单”,或“WinX菜单”):当点击Win+X,菜单按预期显示,但它的项目不再起作用(当我点击它们时没有任何反应),除了最后四个项目仍然按预期工作的底部(“搜索”、“运行”、“关机/注销”、“桌面”):我很快在Google上发现,这是一个众所周知的问题,因为大量shell扩展与Windows8/10不“兼容”。但遗憾的是,我只发现应用程序用户在谈论这个问题及其“解决方案”,而没有开

windows - 从 Win32_NetworkLoginProfile 返回错误的 LastLogon

使用WMIExplorer(或任何其他工具),我用户的LastLogon时间戳显示的是过时值而不是当前日期(因为我目前正在使用这台PC):SELECT*FROMWin32_NetworkLoginProfile--LastLogon=20150212180405.000000+120同时,其他域用户被列为LastLogon作为当前日期,所以这只是我的用户的问题。另一方面,NetUsers正在按预期报告当前日期:DOMAIN\userusername2015/03/1010:14WMI错误结果的原因是什么?环境:Win7x64,域用户添加到本地管理员组。 最佳

windows - 在 Jenkins 中使用 execute shell 命令在 Windows 机器上运行 git 命令

我需要运行一个bash脚本来定期删除旧的git分支。我找不到通过执行shell选项连接到gitrepo的方法。目前我正在使用cygwin来运行git命令。这是我在执行shell中的内容:#!c:\cygwin64\bin\bash--logingitls-remotegit@10.1.1.126:/external-web/collette-com.git此命令抛出以下错误。[DeleteBranches]$c:\cygwin64\bin\bash--loginC:\Users\tbraga\AppData\Local\Temp\hudson5750784484659728632.sh