Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: taskmanager

Sivun loppuun

theman [03.08.2004 10:32:42]

#

miten pystyy lopettamaan tehtävän listasta

Heikki [03.08.2004 10:44:23]

#

Painamalla Lopeta tehtävä -nappia.


Jos haluat tehdä sen ohjelmallisesti niin voisit kertoa kielen. QB:llä et luultavasti voi sitä tehdä ollenkaan, VB:llä onnistunee WinApilla.

theman [03.08.2004 10:49:40]

#

vb5cce teen Anti Joke Ohjelmaa jossa on taskmanageri

Blaze [03.08.2004 11:02:19]

#

SendMessagella lähetät valitulle prosessille WM_DESTROY:n.

theman [03.08.2004 11:17:07]

#

miten

tuomas [03.08.2004 11:23:21]

#

haku.

theman [03.08.2004 11:40:09]

#

esimerkki en saanut mitään hausta irti.

Blaze [03.08.2004 11:45:26]

#

No tästä saan sapiskaa, mutta menkööt: http://reminder.ton.tut.fi >:)

Hakusanalla 'sendmessage' ensimmäinen osuma on tämä threadi, josta löytyy ihan varmasti tarpeeksi esimerkkejä SendMessagen käytöstä, jotta osaat loput itse soveltaa.

theman [03.08.2004 11:56:48]

#

no voi kalkuna en muista miten saa sen valitsemaan sen listboxista

hunajavohveli [03.08.2004 11:59:37]

#

Saa valitsemaan minkä?

theman [03.08.2004 12:02:09]

#

miten saa sen valitsemaan siitä laaksosen vinkin listboxista jonkun ja senmessagella tappamaan sen.

hunajavohveli [03.08.2004 12:10:37]

#

Pistäs nyt osoite siihen vinkkiin, mitä tarkoitat. Muuten on aika paha antaa neuvoja. ;)

theman [03.08.2004 12:58:01]

#

https://www.ohjelmointiputka.net/koodivinkit/23537-vb6-päällä-olevat-ohjelmat

hunajavohveli [03.08.2004 13:05:52]

#

Pelkkä listan nimi palauttaa sen, mikä on valittuna. Eli siis tässä tapauksessa nimi on kai "List1".
Annat vain tolle SendMessagelle parametriksi List1 siihen kohtaan, mihin normaalisti tulis tapettavan prosessin nimi.

theman [03.08.2004 15:49:10]

#

saan errorin kun yritän "Compile Error Expected: ="

sooda [03.08.2004 16:14:18]

#

missä kohdassa? kerro rivin sisältö ja se kohta mikä on maalattu (paina debug)

theman [03.08.2004 16:18:28]

#

ei pääse siinä lukee vaan kun runaan "Compile Error Syntax Error"
maalas tän rivin sendMessage(list1, WM_CLOSE, 0, 0&)

Blaze [03.08.2004 17:20:44]

#

Sulut pois, tai Call-avainsana tuon eteen.

theman [03.08.2004 17:31:55]

#

voisko joku kirjoittaa mitä tohon tartee jos api niin kaikki mitä tohon pätkään tartee.

theman [04.08.2004 09:05:27]

#

mulla tulee errori type mismach ja se keltasella maalaa täman Call SendMessage(List1, WM_CLOSE, 0, 0&) mitä pitäisi tehdä?

theman [04.08.2004 09:17:50]

#

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long tätäksä tarkotata

BadSource [04.08.2004 10:03:37]

#

Blaze kirjoitti:

Sulut pois, tai Call-avainsana tuon eteen.

SendMessagen kutsu on aivan oikein mutta...

SendMessage vaatii ohjelman kahvan(whnd), jolle se lähettää viestinsä, eli SendMessage(List1, WM_CLOSE, 0, 0&) aiheuttaa vain virheen (mikä onkin tullut todetuksi).

Lisäsin prosessin lopetus-komennon Laaksosen koodivinkin yhteyteen, johon on viitattu aikaisemmin.

theman kirjoitti:

https://www.ohjelmointiputka.net/koodivinkit/23537-vb6-päällä-olevat-ohjelmat

Edit: Typo,ypot,poyt...

theman [04.08.2004 10:13:06]

#

saaks ton WM_DESTROY koska haluan lopettaa tehtävän siis tuhota tehtävän enkä sulkea sitä (olen tekemässä ohjelmaa jolla voi sulkea vaikeasti suljettavia ohjelmia jotka ei suleudu ihan WM_CLOSE.

BadSource [04.08.2004 10:22:03]

#

Se on yksi ja sama mikä sen vakion nimi minkä kyseiselle prosessille lähetät, kunhan se vain on hexa 10, eli tutummin numero 16 meidän kymmenjärjestelmästä.

Se voi olla vaikka WM_TAMAKOMENTOSAMMUTTAAPIANKOKOTAJUNTASI, kunhan se on määritelty oikein. Voit siis käyttää tuota WM_DESTROY:takin, jos määrittelet sen vakioksi komennolla

Const WM_DESTROY = &H10 '&H tarkoittaa hexaa

Edit: Typo

theman [04.08.2004 11:15:54]

#

aina opii uutta

Blaze [04.08.2004 11:42:21]

#

BadSource on kyllä oikeassa siinä, että tuo vakion nimi on todellakin vain määrittelykysymys, mutta tässä tapauksessa WM_DESTROY ja WM_CLOSE viittaavat eri arvoihin. Sopii kokeilla, mikä noista sulkee prosessin kaikkein varmimmin, itse en jaksa.

Private Const WM_DESTROY As Long = &H2
Private Const WM_CLOSE As Long = &H10
Private Const WM_QUIT As Long = &H12

theman [04.08.2004 12:59:57]

#

pitääkös tossa muutaa mitään muuta kuin WM_COLSE WM_DESTROY:ksi

Metabolix [04.08.2004 13:21:23]

#

WM_DESTROY ilmoittaa vaan ohjelmalle, että sen ikkuna on tuhottu (vaikkei oikeasti olisikaan), ja minun ohjelmani eivät ainakaan lannistu moisesta pikkuseikasta ;). Lähes kaikki ohjelmat sammuvat WM_QUIT -viestillä.
Kuten BadSource jo sanoikin, tuo SendMessage vaatii ikkunan eikä prosessia.
WinAPI sisältää ihanat toiminnot TerminateProcess ja TerminateThread, joilla tuo perjaatteessa hoituisi, mutta prosessiin ei välttämättä saa riittäviä oikeuksia sulkemista varten. Näistä TerminateProcess siis tarvitsee kahvan prosessiin ja TerminateThread kahvan säikeeseen.

Blaze [04.08.2004 13:35:18]

#

Metabolix kirjoitti:

WM_DESTROY ilmoittaa vaan ohjelmalle, että sen ikkuna on tuhottu (vaikkei oikeasti olisikaan), ja minun ohjelmani eivät ainakaan lannistu moisesta pikkuseikasta ;). Lähes kaikki ohjelmat sammuvat WM_QUIT -viestillä.

Aa, hyvä tietää tämäkin. Olisihan tuo varmaan SDK:ta lukemalla selvinnyt, mutta laiska kun olen :)

BadSource [04.08.2004 13:38:30]

#

WM_CLOSE:lla, WM_DESTROY:lla ja WM_QUIT:lla on eroja jotka menevät jotenkin seuraavasti...

Edit: Tyop

Metabolix [04.08.2004 14:04:35]

#

Eikö kukaan ole koskaan tehnyt C/C++:lla ohjelmaa?!?
Jos minä käsken ohjelmani olla reagoimatta noihin, se ei reagoi niihin. Tästä saa halutessaan ladata ohjelman, joka pitää tehtävienhallinnalla sulkea.

theman [04.08.2004 17:26:35]

#

miten sen saa suleutumaan ei mee kiini taskmanagerrillä

Metabolix [04.08.2004 22:41:14]

#

Taskmanager avaa ennen pitkää sen ikkunan, jossa lukee suunnilleen että "Ohjelma '...' ei vastaa järjestelmän pyyntöihin" ja jossa on Lopeta heti -nappula.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta