我有一個C#應用程序,在'任何CPU'目標上的Visual Studio 2017中編譯,禁用'首選32位'選項。在這個應用程序中,我試圖調用kernel32!GetBinaryType()。在啓用「首選32位」的情況下運行時,它可以正常工作。從C++可執行文件以32位或64位模式運行時,它工作正常。我不確定我在做什麼錯誤的64位C#應用程序。 這是我的PInvoke簽名: [DllImport(
我有一個非常有名的使用(醜)WM_COPYDATA消息的進程間數據交換設置。這不是我的決定,我必須在傳統應用程序中支持它。 const uint WM_COPYDATA = 0x004A;
[StructLayout(LayoutKind.Sequential)]
struct COPYDATASTRUCT
{
public uint dwData;
public in
我使用this answer中的示例代碼。有用。 但我需要將標準輸入/輸出重定向到文件。 進程啓動信息結構有字段: public IntPtr hStdInput;
public IntPtr hStdOutput;
public IntPtr hStdError;
我想是這樣的: StartupInfo startupInfo = new StartupInfo();
startupI