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