Hirdetés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Autós kamerák
- OLED monitor topic
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen notebookot vegyek?
- MILC felhasználók szakmai topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- TCL LCD és LED TV-k
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Azonnali alaplapos kérdések órája
Új hozzászólás Aktív témák
-
ArchElf
addikt
A válasz ott van a linkelt oldalon:
"There is one catch here though. In order for this to work, I call the AdjustPrivileges function in the same module as WinMain to give this application debug rights. Otherwise OpenProcess with PROCESS_ALL_ACCESS fails. This code is straight out of the MSDN Knowledge base - Article ID: Q131065"
Bár a MS oldalon azt írja, hogy csak a rendszerprocesszek debuggolásához kell a SeDebugPrivilege, de valószínűleg a kérdéses API nem működik nélküle, függetlenül attól, hogy nem system, hanem user process memóriáját akarod megnézni.AE
-
ArchElf
addikt
Ezt managelt kódban már valószínűleg nem fogod tudni megcsinálni. Ez már inkább C/C++ terület (esetleg megcsinálhatod C#-ban is nem managelt módban)...
Bizonyos részeit egyszerűen meg lehet csinálni, pl futó processzek listája. De ezt is csak lekérdezgetni tudod bizonyos időközönként.
Találtam egy kis segítséget:
http://www.codeproject.com/KB/threads/MDumpAll.aspxAE
-
acélkemény
csendes tag
-
x007
tag
Sokkal karbantarthatóbb így a kód. Sok textbox-ra már általános megoldást csinálnék (most nem raktam bele többet):
-
x007
tag
Én elég hamar működésre bírtam...

-
ArchElf
addikt
Miért? Persze a kódban statikusan van megoldva, de ott a két függvény, amivel be és ki lehet regisztrálni hotkey-eket. Egyszerűen, amikor változtatni akarsz, akkor kiregisztrálod az előzőt, és beregisztrálsz egy újat.
Az ott közzétett rutinon csak annyit kell változtatni, hogy nem külön adod meg a módosítókat (SHIFT/ALT/CTRL/WIN), hanem azt a WinKey-t dolgozod fel egyből és adod át a függvénynek, amit a KeyDown esemény visszaad (e.KeyData).
Magyarán csinálsz egy olyan kontruktort is a GlobalHotKey osztálynak, ami a teljes (módosítókkal is ellátott KeyData értéket is fel tudja dolgozni).AE
-
ArchElf
addikt
Nem tudom, te hol találtad ezt a GlobalHotKey-t, de itt van róla egy kicsit bővebb magyar leírás: link
Amúgy ez az a két függvény:
[DllImport("user32.dll")]
public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
[DllImport("user32.dll")]
public static extern bool UnRegisterHotKey(IntPtr hWnd, int id);AE
-
ArchElf
addikt
private GlobalHotKey ghk = null;
private VoidEventHandler ghk_event = null;
private void textBB_KeyDown(object sender, KeyEventArgs e)
{
ghk = new GlobalHotKey(e.KeyData, false, false, false, false);
textBox1.Text = e.KeyData.ToString();
}
private void SetHotKey_Click(object sender, EventArgs e)
{
if (ghk_event != null)
ghk.Hotkey -= ghk_event;
ghk_event = new VoidEventHandler(Hotkey);
ghk.Hotkey += ghk_event;
}AE
-
bpx
őstag
én csak azt láttam, hogy az eventben, amit használtál nem lehet kideríteni, hogy melyik billentyűt nyomták le
hogy hogyan lehet char-ból virtuális key-t csinálni? az jó kérdés, ezt a részt nem ismerem annyira, lehet hogy van vmi pofonegyszerű megoldás .NET-ben, amiről nem tudok
lehet pl. olyat, hogy csinálsz egy asszociatív adatszerkezetet (Dictionary, HashTable, ami épp tetszik), amiben előre eltárolod a konstansokat, és a kapott char-ral címzed
-
bpx
őstag
ne a TextChanged event-et használd, hanem a KeyPress-t
annak van KeyPressEventArgs e argumentuma, ahol az e.KeyChar-ral megkapod hogy mi volt a lenyomott karakter (csak valós karakterekre működik, char típust ad vissza, neked kell belőle Key-t "varázsolni" - ha ctrl,alt,shift, stb vezérlőkarakterek is kellenek, akkor KeyDown/KeyUp eventek, és e.KeyData)
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- BESZÁMÍTÁS! ASRock B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 Super 12GB GameMax Aero Mini ECO 650W
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3407, 100% Akksi
- Xiaomi Redmi Note 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest



