Arsip: Mencegah Windows Key ...

more 18 years ago
xerion
Hello, saya sedang butuh bantuan.
Saya sedang membuat program GUI Full-Screen di Windows XP dan Form always on top. Kalau yang di Win9x saya sudah tahu dengan SystemParameterInfo() maka semua system keys tidak akan aktif.
Saya sudah bisa men-disable Alt+Tab. Walaupun form style sudah always on top tapi user masih bisa menggunakan windows key atau dengan kombinasi lainnya ( Win + D ) sehingga program-nya yang tertutup menu start. Saya tidak ingin menggunakan komponen DWinlock.Ada kah metode supaya enable/disable Windows Key. Satu lagi adakah cara supaya text dalam TEdit menjadi center tanpa membuat subclass baru ?
Mohon pencerahannya ...

more 18 years ago
xerion
Apa ada cara lain selain hook sebab hook menggunakan file external juga khan (DLL) ...

more 18 years ago
_lmz
Apa ada cara lain selain hook sebab hook menggunakan file external juga khan (DLL) ...Hmm, bikin alat yang nyambung antara keyboard dan port keyboard di PC. Alat ini dapat dikontrol lewat serial line sehingga dapat memblokir kode-kode tertentu... Proyek yang menarik kalau anda bisa buatnya :)... Tidak perlu repot-repot pakai software lagi kan :) Apabila keberatan anda tentang "file external" adalah karena itu "satu lagi file untuk dicopy", maka ide saya ya masukkan saja DLL itu dalam EXE anda sebagai resource, lalu pada saat runtime dituliskan ke direktori sementara lalu dibuka dengan LoadLibrary(). Dengan ini kan tidak ada file tambahan (yang kelihatan). Kalau keberatan anda dikarenakan sebab lain, ya saya mohon maaf tidak bisa membantu :(

more 18 years ago
kaka-delphi
OOT :
@_lmz: Hmm, bikin alat yang nyambung antara keyboard dan port keyboard di PC. Alat ini dapat dikontrol lewat serial line sehingga dapat memblokir kode-kode tertentu... Proyek yang menarik kalau anda bisa buatnya Smile... Tidak perlu repot-repot pakai software lagi kan SmileWakakakakakakakak ..... seep mas wil ...
@_lmz: Kalau keberatan anda dikarenakan sebab lain, ya saya mohon maaf tidak bisa membantu Sadhihihiihi .... segitunya ... :lol:

more 18 years ago
_lmz
Oh ya mungkin ada cara satu lagi yaitu dengan pindah desktop (SwitchDesktop()) kelihatannya cocok sih, full screen, eksklusif, desktop sendiri :). Berikut contoh program untuk menjalankan notepad di desktop lain. Kalau dengan Win+D sih nggak tertutup... Yang tertutup cuma semua window di desktop default.
procedure TForm1.Button1Click(Sender: TObject);
var
desktopHandle : HDESK;
currentDesktopHandle : HDESK;
processStartupInfo : STARTUPINFO;
desktopName : string;
processInfo : PROCESS_INFORMATION;
begin
desktopName := 'MyDesktop';
desktopHandle := CreateDesktop(PAnsiChar(desktopName), nil, nil, 0, GENERIC_ALL, nil);
currentDesktopHandle := GetThreadDesktop(0);
ZeroMemory(@processStartupInfo, sizeof(processStartupInfo));
processStartupInfo.cb := sizeof(processStartupInfo);
processStartupInfo.lpDesktop := PAnsiChar(desktopName);
CreateProcess('C:\WINNT\NOTEPAD.EXE', nil, nil, nil, false, 0, nil, nil, processStartupInfo, processInfo);
CloseHandle(processInfo.hThread);
SwitchDesktop(desktopHandle);
// tunggu sematinya proses atau max 1 menit
if WaitForSingleObject(processInfo.hProcess, 60000) = WAIT_TIMEOUT then begin
// apakah handlenya perlu difree kalau processnya aku terminate???
TerminateProcess(processInfo.hProcess, 0);
CloseHandle(processInfo.hProcess);
end;
// kembali
SwitchDesktop(currentDesktopHandle);
CloseDesktop(desktopHandle);
end;
Tidak ada error checking, hanya contoh belaka, dll...
Kenapa kok notepad (program lain) dan bukan programku sendiri? well... sebenarnya bisa sih pakai SetThreadDesktop() tapi katanya begini:
This function will fail if the calling thread has any windows or hooks on its current desktop (unless hDesktop is a handle to the current desktop).Mungkin bisa ditaruh dalam .DPR nya tapi saya tidak tahu (dan malas mencoba) apakah VCL sudah menaruh window dulu di desktop default pada saat itu. Perlu diingat juga apabila program anda crash dan belum sempat mengembalikan desktop ke desktop default maka satu-satunya jalan adalah dengan melakukan Ctrl-Alt-Del dan logout dari menunya (ini Windows 2000). Kalau windows XP cuma mengeluarkan task manager di desktop default (belum dicek) ya nasib...

more 18 years ago
belva
@xerion: Hello, saya sedang butuh bantuan. Saya sedang membuat program GUI Full-Screen di Windows XP dan Form always on top. Kalau yang di Win9x saya sudah tahu dengan SystemParameterInfo() maka semua system keys tidak akan aktif. Saya sudah bisa men-disable Alt+Tab. Walaupun form style sudah always on top tapi user masih bisa menggunakan windows key atau dengan kombinasi lainnya ( Win + D ) sehingga program-nya yang tertutup menu start. Saya tidak ingin menggunakan komponen DWinlock.Ada kah metode supaya enable/disable Windows Key. Satu lagi adakah cara supaya text dalam TEdit menjadi center tanpa membuat subclass baru ? Mohon pencerahannya ...:D mungkin ini bisa membantu. procedure TEdit.CreateParams(var Params: TCreateParams); const Alignments: array[Boolean, TAlignment] of DWORD = ((ES_LEFT, ES_RIGHT, ES_CENTER),(ES_RIGHT, ES_LEFT, ES_CENTER)); begin inherited CreateParams(Params); with Params do Style := Style or Alignments[UseRightToLeftAlignment, FAlignment]; end;
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Kesulitan Ubah Struktur Data FIREBIRD
by hendrang in FireBird more 17 years ago - Component TComport
by wati in MySQL more 13 years ago - Maaf ya...
by yuan_carlos in OOT more 17 years ago - Gmn Menghitung Qty + Price = Sub Total dengan DBGrid...?
by artanewbie2012 in Hal umum tentang Pascal Indonesia more 12 years ago - Drivernya apa yah ?
by budi_bunga in OOT more 18 years ago - Read file pdf
by fatahjunaidi in Hal umum tentang Pascal Indonesia more 17 years ago - tanya cetak detail band Fast Report pada posisi tertentu
by shindo in Hal umum tentang Pascal Indonesia more 17 years ago - mencegah process dari end task
by doniking in Tip n Trik Pemrograman more 17 years ago - Export data ke ExcelChart
by derry.othman in Hal umum tentang Pascal Indonesia more 17 years ago - kalendar dalam tahun
by vera in Tip n Trik Pemrograman more 16 years ago