|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
Cat2А Cursor.Hide() не работает? Нет, не помогает. Если например сделать Код: vbnet 1. 2. 3.
то по визуальным ощущениям "часики" мурыжатся еще до выполнения OK, так что код тут вообще ни причем. > Class Library :) >+ Windows Scheduler ну вы сами то не согласны что вы бред не относящийся к теме несете? >оформи вин-сервис и никаких часиков :) он оформлен, не для маленькой утилитки, а для проги в целом(которая эту утилитку например запускает) 2 режима работы: 1) как приложение 2) как сервис Естественно во втором случае никаких часиков нет, потому что System-другой аккаунт, об этом случае речь не идет. Изопропил, ты вот единственный кто возможно дело говорит. Доки что ты процитировал я читал. >если нужно решить задачу - придётся полюбить >ещё четверг и пятница - ты ж любитель API - вызывай (никто не мешает посмотреть исходники среды) трудозатратно, счас мозги больше в сторону POP-SSL и т.п. смотрят, это интереснее, надо допилить и довтыкать в проект Понимаешь еще, "извне" - это не решение. Ты затычку предлагаешь по любому. "Извне" я ее решил уже переделав в "консоль", и посылая "извне" HIDE. Это хорошее решение. Даже если твой совет с CreateProcess и работает, то это кривое решение, и явно уступает выбранному мной Console+Hide. Вопрос в другом. Просто жмем файл. Мышкой. И получаем "часики" пусть на секунду. Даже если main() пустая. Но консоль же не показывает "часики" (и где тут флаги?). М.б. в конфиге каком надо где чего поменять? Консоль же без часиков запускается. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 19:43 |
|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
Cat2Возможно я не правильно понял, но вроде это для процесса, который создает окно да именно так Дмитрий77Консоль же без часиков запускается. да. В заголовке exe файла не зря ж флажки присутствуют, которые задаются при сборке приложения (vbc) - Код: plaintext 1. 2. 3. 4. 5. 6.
как пишет MSDN - чтоб погасить часики, которые включил CreateProcess нужно или окно нарисовать или GetMessage вызвать. Попробуй на старте приложения максимально близко к точке входа сделать PostMessage и GetMessage Дмитрий77"Извне" я ее решил уже переделав в "консоль", и посылая "извне" HIDE. Это хорошее решение. Извращение, ибо для запуска без окна в CreateProcess нужно задать флаги StartupInfo.dwFlags = STARTF_USESHOWWINDOW; StartupInfo.wShowWindow = SW_HIDE; ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 21:41 |
|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77"Извне" я ее решил уже переделав в "консоль", и посылая "извне" HIDE. Это хорошее решение. Извращение, ибо для запуска без окна в CreateProcess нужно задать флаги StartupInfo.dwFlags = STARTF_USESHOWWINDOW; StartupInfo.wShowWindow = SW_HIDE; Не извращение, по сути я и делаю то что ты сказал, может не так выразился: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
либо например вот такой вариант иногда использую, если хочу дождаться завершения вызванной проги Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
По поводу часиков. У меня иногда используется некая KillProga Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Дизайн мой давай обсуждать не будем, я другое хочу сказать. Как не трудно догадаться из функции, она ловит "proga.exe" по окну так сказать. Дык вот Если proga.exe - это VB6-проект из одного модуля без форм, то она чудесно убивается через KillProga Если proga.exe - это VB.Net-проект из одного модуля без форм ( не консоль, а именно который мы тут обсуждаем ), то она ни фига не убивается через KillProga Если proga.exe - это .Net-проект "Консоль", то понятно что KillProga также его убивает стукнув по шапке консоли где отображается название exe. Отсюда вывод: VB6 таки создает какое-то окно, ну и соответственно "The system turns the feedback cursor off after the first call to GetMessage" и часиков типа нет. А VB.Net ничего подобного не делает, поэтому и часики заметны, и убить его за эти "уши" нельзя. Т.е. ну его нифик эти изыскания. Для указанного случая "Консольное приложение" запускаемое с AppWinStyle.HideProcess либо WindowStyle.Hidden (в зависимости от реализации) - вариант оптимальный. И кстати, я не знаю че там .Net творит с неконсольным, консоль в отличии от "Пустой проект" запускается мгновенно, что тоже хороший плюс. Возникает вопрос, а если мое приложение иногда выдает какие-то Msgbox то как быть, потому что при HideProcess/Hidden они тоже не выведутся на экран. Ну, тогда делать "Пустой проект" - который с часиками. Но в данном случае (какие-то msgbox), уже предполагается процесс взаимодействия с юзером, т.е. запуск идет как правило как ответ на то что пользователь что-то нажал мышкой или клавиатурой, а в этом случае кратковременное появление часиков разумно и не напрягает. Копать дальше эту тему считаю бессмысленной тратой времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2015, 16:28 |
|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
Дмитрий77Копать дальше эту тему считаю бессмысленной тратой времени. извини конечно, но процентов 95 твоих изысканий - бессмысленная трата времени Хотя если это хобби - почему бы и нет ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2015, 20:16 |
|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
Дмитрий77Дизайн мой давай обсуждать не будем, я другое хочу сказать. архитертура с несколькими процессами - нормально способ взаимодействия - негодный - это не обсуждение, а констатация факта ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2015, 20:29 |
|
Простое приложение без GUI выдает свою активность (песочные часики).
|
|||
---|---|---|---|
#18+
Изопропил, давай не будем,забей. Документация MSDN ссылку на которую ты дал, помогла косвенно понять причину "часиков". Спасибо. KillProga была написана лет 7 назад и я ее сейчас практически не использую, но то что она не убивает, говорит о том что нет окна и есть "часики" (для пустого .Net проекта, не консольного). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2015, 21:16 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1401509]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 354ms |
total: | 468ms |
0 / 0 |