1
Declare Function GetForegroundWindow Lib "user32.dll"() As Int32
Declare Function GetWindowThreadProcessId Lib "user32.dll" (
ByVal hwnd As Int32,
ByRef lpdwProcessId As Int32) As Int32
Public Function RetCurTitle() As Integer
Dim processID As Int32
Return GetWindowThreadProcessId(GetForegroundWindow(), processID)
End Function
Я использую вышеуказанную функцию, чтобы получить идентификатор процесса активного окна. Она возвращает 4060.AppActivate не работает с идентификатором процесса
После этого я называю
AppActivate(4060)
И сбои приложения. Я попытался использовать целочисленную переменную вместо 4060, но такую же проблему.
Вы не используете GetWindowThreadProcessId() правильно. Вы возвращаете * thread ID * потока, которому принадлежит окно, а не идентификатор процесса. –