1

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で私が望んでいたことを達成することは可能ですか?

4

0 に答える 0