Форум сайта python.su
Здравствуйте имею на C# рабочую программу (кусок) Phyton только начал изучать
try
{
IntPtr ptr = WinAPI.FindWindow(null, “Алерт”);
if (ptr.ToInt32() != 0)
{
IntPtr child = new IntPtr;
child = WinAPI.GetWindow(ptr, WinAPI.GetWindow_Cmd.GW_CHILD);
StringBuilder title = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
child = WinAPI.GetWindow(child, WinAPI.GetWindow_Cmd.GW_HWNDNEXT);
WinAPI.SendMessage(child, Convert.ToInt32(WinAPI.GetWindow_Cmd.WM_GETTEXT), (IntPtr)25, title);
listBox1.Items.Add(title.ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, “Ошибка”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Получаю текстовую строку из дочернего окна
В Python 3.7 делаю следующее
import sys
import win32.win32gui
import win32.win32api
import win32.win32console
def main():
main_app = ‘Алерт’
al_wnd = win32.win32gui.FindWindow(None, main_app)
if not al_wnd:
print(“Не найдено!”)
return
al_sign_wnd = win32.win32gui.GetWindow(al_wnd, win32.win32console.GW_CHILD)
на эту строку ругается
al_sign_wnd = win32.win32gui.GetWindow(al_wnd, win32.win32console.GW_CHILD) нет такого атрибута
подскажите пожалуйста в какую сторону копать??? Ну или пример какой чтобы получить строку
заранее благодарен за понимание и поддержку.
Офлайн
McAndrewhttps://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindow
подскажите пожалуйста в какую сторону копать???
Офлайн
спасибо заменил
al_sign_wnd = win32.win32gui.GetWindow(al_wnd, 5)
так же заменил
child = WinAPI.GetWindow(child, WinAPI.GetWindow_Cmd.GW_HWNDNEXT);
на
child = WinAPI.GetWindow(child, 2);
получил
child = WinAPI.GetWindow(ptr, 5);
а вот отсюда не знаю как перебирать в цикле для PYTHONa
for (int i = 1; i <= 5; i++)
{
child = WinAPI.GetWindow(child, 2);
и эту строку тоже не знаю как сделать в ПИТОНЕ
WinAPI.SendMessage(child, Convert.ToInt32(WinAPI.GetWindow_Cmd.WM_GETTEXT), (IntPtr)25, title);
//lbWindows.Items.Add(title.ToString());
listBox1.Items.Add(title.ToString());
}
Офлайн
McAndrewВозникает вопрос. Если вы не знаете азов, зачем вы на питоне пишете. Есть шарп и ладно.
не знаю как перебирать в цикле для PYTHONa
for i in range(1,6): ....
WinAPI.SendMessage(child, 0x000D, 25, title);
Офлайн