Перезагрузка не работает пока...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Перезагрузка не работает пока...

Сообщение Saturn.65 » 23.09.2007 (Вс) 8:21

Хочу задать пару вопросов.
1. Почему многие программы, которые работают и их иконки сидят рядом с часами не видимы в Диспетчере задач?
2. Написал программу - менеджер автозагрузки. Запуск программ через заданный промежуток времени. Она тоже сидит в трее. но при нажатии на кнопку перезагрузка (не кнопка резет, а в виндовом окне) перезагрузка не происходит, пока программу не выключишь. Хочу добавить: В это время у меня в проге работает таймер и прогрессбар. Причем я интересно подошел к процессу запуска. И еще Shell. Не могут ли эти процессы влиять? И к тому же мою прогу видно в диспетчере задач. Ничего страшного, но не лучше ли скрыть?
Может из-за какого процесса? Не он ли влияет на неперезагрузку?
Как победить эту незадачу?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.09.2007 (Вс) 10:57

Saturn.65
Событие Form_(Query)Unload небось ловишь? И ставишь безусловно Cancel = 1 ?

Ничего страшного, но не лучше ли скрыть?

Абсолютно не лучше.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 23.09.2007 (Вс) 15:08

Хакер писал(а):Событие Form_(Query)Unload небось ловишь? И ставишь безусловно Cancel = 1 ?

Это понятно. Например поставишь прогу и захочешь перезагрузится. Перезагрузка не работает, пока прогу сам не ваключишь. Тут ведь сразу и не подумаешь. Обычно перезагрузка срабатывает, какое бы приложение не работало. А так ерунда получается. Вот тут я застопорился. Это чтож за процесс такой неубиваемый. Вот если б прога могла следить за окнами. Вылезает такое окно для перезагрузки и она Unload. Кстати, как такое окно называется?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.09.2007 (Вс) 15:14

Saturn.65

Это понятно.


Что понятно? Тебе был задан вопрос, а не совет, чтобы отвечать на него подобным образом.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 23.09.2007 (Вс) 15:22

Это когда на крестик нажимаешь, то форма не закрывается.
Возможно это из-за этой команды? Именно я такую и прописывал у себя. Чтоб при нажатии на крестик форма не закрывалась, а становилась не видимой. Т.е. если эту команду убрать, то перезагрузка будет работать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.09.2007 (Вс) 15:24

Блин, ты специально отвечаешь на вопрос криво и таким образом, чтобы было ничего непонятно?


Был задан простой вопрос: есть ли у тебя в программе обработчики Form_(Query)Unload-события, в котором Cancel выставляется в 1 или же ничего подобного нет?

Сложно ответить?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 23.09.2007 (Вс) 15:28

:D Хакер Спасибо тебе! Попробовал, все перезагрузилось.
Убрал команду. Может подскажешь что для крестика написать тогда, чтоб при нажатии прога не вырубалась. Или бы крестик Disable сделать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.09.2007 (Вс) 15:30

Saturn.65 продолжает вместо ответов на вопрос писать свои ощущения по поводу происходящей ситуации.

Что-ж...

Обрати свой взор на аргумент UnloadMode и задумайся о том, что неплохо было бы смотреть, что в нём, перед тем как сделать Cancel = 1.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.09.2007 (Вс) 15:33

Изображение

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 23.09.2007 (Вс) 15:41

Хакер писал(а):Saturn.65 продолжает вместо ответов на вопрос писать свои ощущения по поводу происходящей ситуации.

Что-ж...

Обрати свой взор на аргумент UnloadMode и задумайся о том, что неплохо было бы смотреть, что в нём, перед тем как сделать Cancel = 1.

Просто мой предыдущий ответ что -то не дошел. Cancel = 1 не дает закрыться форме. Именно такое я и писал. дело в том, что при нажатии на крестик форма не должна закрываться. Значит это и повлияло.
Form_QueryUnload(Cancel As Integer, UnloadMode As Integer).
Cancel понятно. А Вот UnloadMode не знаю. Может тоже =1 или 0 сделать. Порылся в книге ничего не нашел. Как бы эту кнопку Disable сделать?
Кстати нашел как:
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

Const SC_CLOSE = &HF060
Const MF_BYCOMMAND = &H0


Public Sub DisableXbutton(ByVal frmHwnd As Long)
Dim hMenu As Long
hMenu = GetSystemMenu(frmHwnd, 0&)
If hMenu Then
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
DrawMenuBar (frmHwnd)
End If
End Sub

Private Sub Form_Load()
DisableXbutton (Me.hwnd)
End Sub

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.09.2007 (Вс) 17:09

Saturn.65, открой справку и почитай, что означает UnloadMode.
Lasciate ogni speranza, voi ch'entrate.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 23.09.2007 (Вс) 17:29

alibek
Не у всех она есть. Особенно в пиратской версии.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.09.2007 (Вс) 17:38

Метод проб и ошибок никто не отменял. Я, между прочим, узнал об этом аргументе именно так и лишь потом узнал, что существуют константы определяющие типичные значния этого аргумента, и только потом прочитал про него в справке. Хотя справка у меня была с самого начала.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.09.2007 (Пн) 8:11

Онлайновый MSDN есть у всех.
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 24.09.2007 (Пн) 9:22

alibek
А и онлайн кстати не у всех есть...
Я в период с 2002 по 2004 годы находился вообще в информационном вакууме... спасала лишь справка от VBA :twisted:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.09.2007 (Пн) 9:33

В таком случае этот вопрос не был бы задан на форуме.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 94

    TopList