Страница: 1 |
|
Вопрос: Опять Word
|
Добавлено: 13.02.11 16:00
|
|
Автор вопроса: Dan | ICQ: 609276007
|
Темка была: http://www.vbnet.ru/forum/show.aspx?id=207105
если ворд не открыт прога не работает
Как сделать что, если ворд не открыт не выполнять код?
спасибо
Ответить
|
Номер ответа: 4 Автор ответа: AgentFire
ICQ: 192496851
Вопросов: 75 Ответов: 3178
|
Профиль | | #4
|
Добавлено: 19.02.11 12:30
|
SHDZ пишет:
Перебери открытые приложения, с поиском по имени
А то, что у ворда имена могут быть разные, а так же возможно наличие не-вордовских окон с текстом "...word..." тебя не смущает?
SHDZ пишет:
http://www.rusedu.ru/detail_828.html тут справочник валялся почему бы не MSDN?
SHDZ пишет:
напрмиер GetNextWindow
И как с помощью этой функции гарантированно определить наличие или отсутствие запущенного ворда?
Ответить
|
Номер ответа: 6 Автор ответа: SHDZ
ICQ: 209382104
Вопросов: 39 Ответов: 244
|
Профиль | | #6
|
Добавлено: 19.02.11 16:11
|
Пример на шарпе, на VB6 чуть переделать нужно
-
- #region Поиск окна
- [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
- private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
- //static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
- [DllImport("user32.dll", SetLastError = true)]
- static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
- #endregion
-
-
- /// <summary>
- /// True - найдено, False - не найдено
- /// </summary>
- /// <returns></returns>
- public static int FindProcess()
- {
- //HWND = FindWindow("calc.exe", null);
- HWND = FindWindow(null, _FindProgramm);
- if ((HWND == null) || ((Int32)HWND == 0))
- HWND = FindWindow(null, _FindProgramm + ".exe");
- if ((HWND == null) || ((Int32)HWND == 0))
- HWND = FindWindow(_FindProgramm, null);
- if ((HWND == null) || ((Int32)HWND == 0))
- {
- foreach (Process p in Process.GetProcesses())
- {
- if (p.ProcessName == _FindProgramm)
- HWND = FindWindow(null, p.MainWindowTitle);
- //HWND = p.Handle;
- }
- }
- if ((HWND != null) && ((Int32)HWND != 0))
- {
- // Проверяем - смогли ли мы определить местоположение окна и размеры
- return GetPlacement();
- }
- else
- return 1111;
-
Ответить
|
Страница: 1 |
Поиск по форуму