WINEを介してMacでWin32プログラムを動作させようとしています。このプログラムは、CreateProcess() API を使用して別の Win32 プログラムを外部プロセスとして呼び出していました。WINE を介して Mac で UNIX シェル スクリプトを呼び出すようにしたいと考えています。
簡単なコマンドを実行するプロセスの作成に成功しました。/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
上記と同じコマンドを呼び出すだけです)。
私の目標が間違っていたのだろうか。WINEで私が望んでいたことを達成することは可能ですか?