Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: ogromny problem z wylogowywaniem
anonim




Typ: Nie zarejestrowany
ogromny problem z wylogowywaniem

oto moj problem:

moj program dzila w tle systemu i jest bez przerwy uruchomiony
gdy uzytkonik wyloguje sie z systemu, a nastepnie zaloguje spowrotem
moj program wariuje

tzn. przy wylogowywaniu nie wylancza sie a po ponownym zalogowaniu
"stara wersja" pozostaje aktywna (z tym ze nie pokazuje sie juz w
tray-u) a system proboje bez przerwy uruchomic nowy ktory jest
wylanczany przez kod If App.PrevInstance = True Then Unload Me

ponizej przedstawiam kod funkcji load i queryunload


Private Sub Form_Load()
Hide_Program_In_CTRL_ALT_Delete ' ukywa program
App.Title = "Cafe Client" ' Nadaje tytuł oknu
'sprawdza czy jest juz uruchominoy '
If App.PrevInstance = True Then Unload Me
' koniec '
Me.Hide ' ukrywa okno
' pobieranie sciezki do pliku ;
sciezka = App.Path
sciezka = Right(sciezka, "1"
If (sciezka <> "\" Then sciezka = App.Path & "\"
sciezka = sciezka & App.EXEName & ".exe"
' koniec '
t_rejestr.Enabled = True ' uruchamia zapisywanie sciezki w run do rejestru
' pobieranie sciezki do katalogu windowsa
Dim WinPath As String
Dim tmp As Long
WinPath = String(145, Chr(0))
tmp = GetWindowsDirectory(WinPath, 145)
sciezka_win = Right(Left(WinPath, InStr(WinPath, Chr(0)) - 1), "1"
If (sciezka_win <> "\" Then
sciezka_win = Left(WinPath, InStr(WinPath, Chr(0)) - 1) & "\"
Else
sciezka_win = Left(WinPath, InStr(WinPath, Chr(0)) - 1)
End If
' koniec '
ini.PlikINI = sciezka_win & "sys.ini" ' sciezka do pliku ini
' sprawdza czy jest podane IP i nr jesli nie pyta
If ini.CzytajZINI("laczenie", "ip" = "" Or ini.CzytajZINI("laczenie", "nr" = "" Then f_start.Show
vbModal, Me
If ini.CzytajZINI("laczenie", "ip" = "" Or ini.CzytajZINI("laczenie", "nr" = "" Then
Unload Me
Else
t_laczenie.Enabled = True
' tray
t.cbSize = Len(t)
t.hwnd = pichook.hwnd
t.uId = 1&
t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
t.ucallbackMessage = WM_MOUSEMOVE
t.hIcon = Me.Icon
t.szTip = "Cafe Client" & Chr$(0)
Shell_NotifyIcon NIM_ADD, t
Me.Hide
App.TaskVisible = False
' koniec '
End If
' koniec '
ini.ZapiszDoINI "rozdzielczosc", "szerokosc", (CurrentRes.screenWidth)
ini.ZapiszDoINI "rozdzielczosc", "wysokosc", (CurrentRes.screenHeight)
Call WylaczCTRL(False)
BlockInput False
wykonaj "09 00 1"
Select Case ini.CzytajZINI("Ustawienia", "blokada_s"
Case 1
wykonaj "02 1"
Case 2
wykonaj "02 3"
Case 3
wykonaj "02 2"
Case 4
wykonaj "02 4"
Case 5
wykonaj "02 5"
End Select
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode <> 2 And UnloadMode <> 1 Then
Cancel = 1
Else
' tray
t.cbSize = Len(t)
t.hwnd = pichook.hwnd
t.uId = 1&
Shell_NotifyIcon NIM_DELETE, t
' koniec '
Unload f_czas
Unload f_karnet
Unload f_blokada
End If
End Sub

BLAGAM Was o pomoc, juz niedlugo musze oddac program (klientowi) a to
nie pozwala mi spac, juz tylko ten blad mi zostal

30-04-2002 20:02
  
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Musisz jakoś kombinować, aby program się zamykał podczas gdy user się wylogowywuje


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

30-04-2002 21:14
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Seth



Typ: neutral
Postów: 40
Zarejestrowany: Apr 2002

ale wlasnie z tym mam problem
jak bym wiedzial jak to wykryc to nie pyloby tego postu


_____________________________________________
Kamil Seth Matysik

30-04-2002 23:14
Pokaż profil Seth  Wyślij email do Seth   
Seth



Typ: neutral
Postów: 40
Zarejestrowany: Apr 2002

coraz lebsze odpoweidzi
ale wlasnie o to chodzi ze nie znam takiej funkji a w MSDN nie moge znalezc


_____________________________________________
Kamil Seth Matysik

03-05-2002 21:18
Pokaż profil Seth  Wyślij email do Seth   
Seth



Typ: neutral
Postów: 40
Zarejestrowany: Apr 2002

bylbym wdzieczny


_____________________________________________
Kamil Seth Matysik

03-05-2002 22:02
Pokaż profil Seth  Wyślij email do Seth   
xeng



Typ: neutral
Postów: 102
Zarejestrowany: May 2002
Nie jestem pewien :(

If UnloadMode <> 2 And UnloadMode <> 1 Then
ale te dwie rzeczy sobie zaprzeczają
<> 2 wszystko oprócz 2  spełnia warunek ,1 też
<> 1 wszystko oprócz 1  spełnia warunek ,2 też
więc Cancel zawsze będzie 1


_____________________________________________
Nic nie umiem i nic nie wiem.Jestem tuman bity w ciemie.


11-05-2002 13:03
Pokaż profil xeng  Wyślij email do xeng   Odwiedź stronę xeng  
Q



Typ: moderator
Postów: 38
Zarejestrowany: Apr 2002

wylogowanie skutkuje bodajże w Winshicie wysłaniem komunikatu WM_SYSCOMMAND do wszystkich okien z parametrem SC_LOGOFF czy coś takiego...
poczytaj w Win32 programmer's reference o tym komunikacie


_____________________________________________
Dobre programy dzielą się na te, których nikt nie wymyślił i na te, których nikt nie napisał.

13-05-2002 17:50
Pokaż profil Q  Wyślij email do Q   Odwiedź stronę Q       69629311    1284020
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1