Автор | Сообщение |
|
| |
Пост N: 855
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.08.08 17:57. Заголовок: Как запретить запуск одной проги несколько раз ?
Есть какая то функция в Xharbour ? PS Вроде был такой вопрос , но пока не найду........
|
|
|
Ответов - 34
, стр:
1
2
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 43
Зарегистрирован: 06.02.07
|
|
Отправлено: 12.08.08 00:18. Заголовок: Понял. Напишу, как п..
Понял. Напишу, как получится. "Кто любит более тебя - напишет более меня" :)
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 17.08.08 07:48. Заголовок: gustow пишет: Понял..
|
|
|
|
| постоянный участник
|
Пост N: 645
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.08.08 10:04. Заголовок: Dima пишет: Где взя..
Dima пишет: цитата: | Где взять доку по WINAPI на русском ? |
| Могу выслать на ящик.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 18.08.08 10:28. Заголовок: Andrey пишет: Могу ..
Andrey пишет: Благодарность не будет знать границ .... :)))) mkizev////mail.ru
|
|
|
|
| |
Пост N: 867
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.08.08 11:12. Заголовок: Andrey пишет: Могу ..
Andrey пишет: Буду ждать тёрк-тёрк////тёрк.ru ;)
|
|
|
|
| постоянный участник
|
Пост N: 646
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.08.08 16:24. Заголовок: Dima А кинь пожалу..
Dima А кинь пожалуйста примером который ты сделал на чистом хХарборе !
|
|
|
|
| |
Пост N: 868
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.08.08 10:06. Заголовок: Andrey пишет: А кин..
Andrey пишет: цитата: | А кинь пожалуйста примером который ты сделал на чистом хХарборе ! |
| Примером чего Андрей ?
|
|
|
|
| постоянный участник
|
Пост N: 647
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.08 10:20. Заголовок: Dima пишет: Примеро..
Dima пишет: Примером: "Как запретить запуск одной проги несколько раз ?" или ты его не сделал ?
|
|
|
|
| |
Пост N: 869
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.08.08 11:05. Заголовок: if isexerunnin..
цитата: | Proc Main if isexerunning("test") ? "Прога уже запущена" quit endif return nil #pragma BEGINDUMP #include <windows.h> #include <hbapi.h> #include <shlobj.h> HB_FUNC( ISEXERUNNING ) // ( cExeNameCaseSensitive ) --> lResult { HANDLE hMutex = CreateMutex( NULL, TRUE, (LPTSTR) hb_parc(1) ); hb_retl( GetLastError() == ERROR_ALREADY_EXISTS ); ReleaseMutex( hMutex ); } #pragma ENDDUMP |
|
|
|
|
|
| постоянный участник
|
Пост N: 648
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.08 12:28. Заголовок: Спасибо Дима ! :sm3..
Спасибо Дима ! А как автоматически определять имя проги ? Если она будет не "test" ?
|
|
|
|
| |
Пост N: 870
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.08.08 12:43. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как автоматически определять имя проги ? Если она будет не "test" ? |
| Ну ты ведь знаешь заранее как ты обзовешь EXE шник ;) Хотя возможно есть такая функция в CT EXENAME()
|
|
|
|
|
| |
Пост N: 871
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.08.08 12:44. Заголовок: Andrey По ходу в пр..
Andrey По ходу в присланной тобой докуметации я так и не нашел функции CreateMutex()
|
|
|
|
| постоянный участник
|
Пост N: 649
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.08.08 23:05. Заголовок: А что это за функция..
А что это за функция ? Что ты хочешь сделать ?
|
|
|
|
| постоянный участник
|
Пост N: 654
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.08 13:21. Заголовок: Сделал прогу, только..
Сделал прогу, только не могу поднять "запущенную ранее программу" ! Как получить "хендл" запущенной ранее программы ? =========================================================== #define MYPROGRAM " Программа проверки запуска ! " Procedure Main LOCAL nI:=0, nKey, hWnd := GetForegroundWindow() LOCAL cNameWin, cExeRun := SUBSTR(EXENAME(), RAT("\",EXENAME())+1 ) IF hb_gt_version() == "WVT" // Если используется граф.терминал GTWVT.LIB cNameWin := HB_OEMTOANSI( MYPROGRAM ) ELSE cNameWin := MYPROGRAM ENDIF GTInfo( 26, cNameWin ) SETCOLOR("15/2") CLEAR SCREEN ? "Номер окна:", hWnd ? "Имя ЕХЕ-файла: ", cExeRun if isexerunning(cExeRun) ALERT("Прога уже запущена !") // Как сделать переключение на ренее запущенную программу ? MAXIMIZE( hWnd ) // - не работает tone(400,2) quit endif DO WHILE .T. nKey := INKEY(1) IF nKey == 27 // K_ESC EXIT ENDIF @ 4,2 SAY "ESC-выход Режим ожидания:" ?? nI++ ENDDO return #pragma BEGINDUMP #include <windows.h> #include <hbapi.h> #include <shlobj.h> HB_FUNC( ISEXERUNNING ) // ( cExeNameCaseSensitive ) --> lResult HANDLE hMutex = CreateMutex( NULL, TRUE, (LPTSTR) hb_parc(1) ); hb_retl( GetLastError() == ERROR_ALREADY_EXISTS ); ReleaseMutex( hMutex ); HB_FUNC( GETFOREGROUNDWINDOW ) hb_retnl( (LONG) GetForegroundWindow() ); HB_FUNC( MINIMIZE ) ShowWindow( (HWND) hb_parnl(1), SW_MINIMIZE ); HB_FUNC( MAXIMIZE ) ShowWindow( (HWND) hb_parnl(1), SW_RESTORE ); #pragma ENDDUMP ==================================================
|
|
|
Ответов - 34
, стр:
1
2
All
[только новые]
|
|