Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- Mr Dini: Mindent a StreamSharkról!
- Magga: PLEX: multimédia az egész lakásban
- Meggyi001: A kérdés...
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- jakra: Retro gyujtemenyem (cloud synced for safety...)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Pötyi: 4. RETRO KONZOL ÉS SZÁMÍTÓGÉP BÖRZE - '25. november 16.
-
LOGOUT

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
lenkei83
#16474
üzenetére
Ez esetben a belépésnél el kell küldened a PID-et, vagy a Fő form Handle-jét, és rögzíted az adatbázisban, ha nincs benne. Én a fő form Handle-jét küldeném el, mert ebből is utána lehet nézni a PID-nek. A következő lépés attól függ, hogy mit rögzítesz az adatbázisban. Ha a Fő form Handle-jének WM_DESTROY üzenetet küldesz a SendMessage-el, akkor ugyanazt éred el, mint az application.exit-el(ez "mindent visz"). Ha WM_CLOSE üzenetet küldesz neki, akkor lefut pl. a form Form_Closing eseménye(ebből akár meg is akadályozhatod, hogy bezáródjon a form). Példaként megcsinálhatod a következőt(ha 64 bites wined van). Letöltöd innen a Processx64.rar-t.
Ezután készítesz egy winform alkalmazást, amire rádobsz egy textbox-ot, egy button-t, és egy combobox-ot. Design nézetben elrendezed őket úgy, ahogy akarod. A Form1.vb-ben lévő dolgokat lecseréled erre:Imports System.Runtime.InteropServices
Public Class Form1
Const WM_CLOSE = &H10
Const WM_DESTROY = &H2
Const WM_GETTEXTLENGTH = &HE
<DllImport("user32.dll", CharSet:=CharSet.Auto)>
Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As IntPtr
End Function
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
Button1.Text = "Bezárás"
ComboBox1.Items.AddRange(New Object() {"WM_CLOSE", "WM_DESTROY"})
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
ComboBox1.SelectedIndex = 0
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If IsNumeric(TextBox1.Text) Then
Dim WM As Integer
If SendMessage(TextBox1.Text, WM_GETTEXTLENGTH, 0, IntPtr.Zero) Then
If ComboBox1.SelectedIndex = 0 Then
WM = WM_CLOSE
Else
WM = WM_DESTROY
End If
SendMessage(TextBox1.Text, WM, 0, IntPtr.Zero)
Else
MsgBox("Az ablaknak nincs címe!")
End If
End If
End Sub
End ClassEzt lefordítod. Ha minden jól megy akkor le is fordul. Majd megnyitsz egy notepad-ot, és írsz bele valamit. Megnyitod a Processx64.rar-ban lévő .exe-t és megkeresed azt a notepad-ot. Jobb klikk->Ablakok kiválasztása. A megnyíló ablakban megkeresed a Class mezőben a "Notepad"-ot. Ebben a sorban a Hwnd-t átmásolod a lefordított programod textbox-ába. Kiválasztod a combobox-ban a műveletet, majd klikk a button-ra. Itt láthatod a különbséget a WM_CLOSE és a WM_DESTROY között.
Neked ugyanezt kellene csinálnod, csak az adatbázisban tárolt Handle-nek küldeni ezeket.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- alza vélemények - tapasztalatok
- Építő/felújító topik
- Kormányok / autós szimulátorok topikja
- Spórolós topik
- Gitáros topic
- Gumi és felni topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Vége a dalnak: leállt az iPhone Air gyártása
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA -Kártyafüggetlen, MS3844, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3434
- HIBÁTLAN iPhone 14 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3159, 100% Akksi
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T4 Plus A-data 600W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


