如何通过Wine通过Win32 CreateProcess运行Bash shell脚本?

时间:2013-11-06 22:26:18

标签: macos bash winapi wine

我正在尝试通过WINE使Win32程序在Mac上运行。 该程序用于使用CreateProcess()API将另一个Win32程序作为外部进程调用。 我现在希望它通过WINE在Mac上调用UNIX shell脚本。

我成功创建了一个运行简单命令的进程:/usr/bin/touch /Users/username/Desktop/file

CreateProcess( NULL, const_cast<LPWSTR>( (LPCWSTR) _T("/usr/bin/touch /Users/username/Desktop/file")  ), NULL, NULL, FALSE, 
            NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW, NULL, NULL, &si, &pi );

但是,我尝试使用/bin/sh /Users/username/Desktop/my.sh替换命令 这次失败了。

起初我以为这是由于路径问题,我以为WINE会使用Windows路径。所以我尝试加载ntdll.dll,然后使用API​​ wine_unix_to_nt_file_name()将脚本路径转换为WINE风格的Windows路径。它仍然不起作用(my.script只调用上面列出的touch命令。)

我想知道我的目标是否被误导了。是否有可能实现我想要的葡萄酒?

0 个答案:

没有答案