Poslao: 06 Avg 2004 01:18
|
offline
- Pridružio: 21 Jan 2004
- Poruke: 416
- Gde živiš: Indjija
|
Poceo sam da prepravljam jedan program (Izvorno kod sam skinuo sa net-a doduse dobro je ojadjen) I posle mesec dana mucnja uspeo sam da
zavrsim program naime o cemu se radi program blokira taskbar i sve sto mu se upise da treba da se blokira ugradio sam mu i antivirus program !
sve je savrseno ali kada ga pokrenem Bude mi jako veliki CUP Usage i nemogu nista drugo da radim dugo me vec muci taj problem! Onda sam predpostavio da program mora da vrti neki proces u pozadini pa sam pregledao code i provalio da ima dve komande Loop i neznam kako da ih zaobidjem ! (koja je zamena sta da stavim umesto njih a da program radi ?
Evo prve komande loop :
Private Sub Form_Load()
Dim hregkey As Long
Dim subkey As String
Dim stringbuffer As String
Dim retval
subkey = "Software\Microsoft\Windows\CurrentVersion\Run"
retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, _
KEY_WRITE, hregkey)
If retval <> 0 Then
Exit Sub
End If
stringbuffer = App.Path & "\" & "load.exe -quiet" & vbNullChar
retval = RegSetValueEx(hregkey, "RunDll2.0", 0, REG_SZ, _
ByVal stringbuffer, Len(stringbuffer))
RegCloseKey hregkey
Dim RET
On Error Resume Next
Call DisableCtrAltDel(True)
rtn = FindWindow("Shell_traywnd", "") 'get the Window
Call SetWindowPos(rtn, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) 'hide the Tasbar
On Error Resume Next
Dim master1
Do Until EOF(1)
Open "c:\windows\master.ini" For Input As #1
Line Input #1, master1
List1.AddItem master1
List2.AddItem master1
Loop
Close
authenticate = False
RET = SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
Me.Hide
BLOCK_REGEDIT
BLOCK_TASKMAN
BLOCK_MENU
End Sub
Ako neko zna resenje bio bi mu veoma zahvalan .
Unapred Hvala
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 06 Avg 2004 20:19
|
offline
- snoop
![Female](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
izbaci Open "c:\windows\master.ini" For Input As #1 izvan Do Loop petlje i probaj negde unutar petlje ubaciti naredbu DoEvents... ne znam kako ti to Open posle Do Loop i moze da radi posto mislim da ja tako nisam mogao napisati petlju, ali eto ocigledno da radi...
probaj sa ovakvim kodom
Open "c:\windows\master.ini" For Input As #1
Do While EOF(1)
DoEvents
Line Input #1, master1
List1.AddItem master1
List2.AddItem master1
Loop
kod mi i ovako izgleda normalno i tako bih ga i ja napisao tako da ne znam sta bi mogao biti problem, ako ovo ne resi problem... mozda neki drugi deo programa pravi toliki zastoj...
|
|
|
|
Poslao: 07 Avg 2004 21:56
|
offline
- Pridružio: 21 Jan 2004
- Poruke: 416
- Gde živiš: Indjija
|
@Snoop
Nevredi opet je CPU Usage veoma veliki 100% kao i ranije !
Jel imas vremena da mi pomognes ?
|
|
|
|
Poslao: 08 Avg 2004 02:04
|
offline
- snoop
![Female](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
hmmm, ne znam sta bi onda moglo da bude...
mogu ja naci vremena, ali ne znam da li ti mogu pomoci...
|
|
|
|
Poslao: 08 Avg 2004 11:24
|
offline
- Pridružio: 21 Jan 2004
- Poruke: 416
- Gde živiš: Indjija
|
Ako zelis da ti posaljem izvorni kod programa ! pa ti pokusaj da ga sredis bio bi ti veoma zahvalan !
|
|
|
|
Poslao: 08 Avg 2004 19:02
|
offline
- snoop
![Female](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
poslao sam ti mail na PP
|
|
|
|
Poslao: 08 Avg 2004 23:51
|
offline
- Pridružio: 25 Feb 2004
- Poruke: 35
- Gde živiš: BiH-RS
|
Ako hoces posalji mi izvorni kod na mail pa cu probati da ti pomognem.
|
|
|
|
Poslao: 10 Avg 2004 00:17
|
offline
- Pridružio: 25 Feb 2004
- Poruke: 35
- Gde živiš: BiH-RS
|
E ovako.
1. Kao prvo ovo sto ti je Snoop rekao je jedna greska. znaci kod mora da izgleda ovako:
Open "c:\windows\master.ini" For Input As #1
Do Until EOF(1)
Line Input #1, master1
List1.AddItem master1
List2.AddItem master1
Loop
2. sta ti je ustvari "c:\windows\master.ini", taj fajl ne postoji.
Zauzece nastaje jer si stavio -On Error Resume Next-.
Detaljno:
Greska nastaje kod: Open "c:\windows\master.ini" For Input As #1, jer program ne moze
da nadje taj fajl, a ti si sa -On Error Resume Next- naredio programu da u slucaju
pojavljivanja greske nastavi dalje.
U tom slucaju petlja: "Do Until EOF(1)" nije ogranicena i procesor se stalno vrti u njoj
do beskonacnosti, zbog cega nastaje CPU Usage 100%.
Znaci dio koda:
On Error Resume Next
Dim master1
Do Until EOF(1)
Open "c:\windows\master.ini" For Input As #1
Line Input #1, master1
List1.AddItem master1
List2.AddItem master1
Loop
Close
mora da izgleda ovako:
On Error GoTo Greska
Dim master1
Open "c:\master.ini" For Input As #1
Do Until EOF(1)
Line Input #1, master1
List1.AddItem master1
List2.AddItem master1
Loop
Close
Greska:.......
Program je lose koncipiran,mogao bi se smanjiti bar za duplo,
al to cu ti pomoci ako mi uspijes objasniti sta je "c:\windows\master.ini", jer
to nije windows-ov fajl niti sam nasao da ga tvoj program pravi.
|
|
|
|
Poslao: 10 Avg 2004 00:58
|
offline
- snoop
![Female](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
ja sam primetio da ima dva on error resume next i izbrisao sam jedan, ali se opet desilo to isto.... kada sam izbrisao petlju, program se pokrenuo normalno...
u master.ini sigurno treba da zapisuje koje programe da 'zakljuca'
|
|
|
|
Poslao: 10 Avg 2004 02:48
|
offline
- Pridružio: 21 Jan 2004
- Poruke: 416
- Gde živiš: Indjija
|
@Sove
master.ini nisam znao kako da kazem programu da ga sam napravi pa ga ja napravim manuelno iz notpad-a ! On sluzi da kaze programu sta treba da blokira (da zabrani pristup) !
|
|
|
|