1

こんにちは、c# WinForms で廃止されたものを置き換えるためにAppDomain.GetCurrentThreadId()、次のことを考慮する必要があります

...
[DllImport("user32.dll", SetLastError = true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

private static IWin32Window _owner;
...

#

uint processID = 0;
IntPtr ptr =  _owner.Handle.ToPointer();
GetWindowThreadProcessId(ptr, out processID);
int replacementCurrentThreadId = processID;

動作しないことを除いて-エラーは

The best overloaded method match for has some invalid arguments

また

Cannot implicitly convert type 'void*' to 'System.IntPtr'. An explicit conversion exists (are you missing a cast?)

私は(currentThreadIdを取得するための)正しいアプローチを持っていると信じていますが、値を割り当てることはできません-おそらくそれらはポインターであるためです(?)

4

0 に答える 0