Administrator user windows 7 delphi7

Posted by

Yup, langsung aja kenapa run program As Administrator??  terutama pengguna Windows yang bukan WIndows XP, karena applikasi yang kita buat akan mendapat hak akses penuh ke sistem windows, pada kasus pribadi yang saya alami, kalau aplikasi tidak Run As Administrator aplikasiku tidak dapat melakukan write/read ke Registry, mungkin semaikn berjalanya waktu akan semakin banyak lagi kendala yang ditemukan, sebenarnya bisa saja kita klik kanan pada exe hasil kompile kita terus pilih opsi run as admin bisa juga di buat default properties run as admin, tapi kita kedepankan kenyamanan user, jadi saat program di eksekusi maka program tersebut langsung run as admin..
Oke pertama-tama kita buat untuk check apakah aplikasi berjalan sebgai user biasa atau sebagai administrator, kita pasang fungsi ini (thanks to KPPDI ) saya dapet di sana dari tutorial yang di post bang Muh. Ridzky
1
2
3
4
5
6
7
8
9
10
11
12
13
14
. . .
function AdminCek(): boolean; stdcall; external 'shell32.dll' name 'IsUserAnAdmin';
. . .
 
//setelah itu letakan koding dibawah ini ke sebuah tombol
...
procedure TfUtama.Log2Click(Sender: TObject);
begin
If AdminCek = true then
 showmessage('Administrator User')
 else
 showmessage('User Biasa');
end;
...
AsAdmin-01
*Catatan :
  • Kalau Kita lakukan di dalam Delphi yang terbuka Run As Administrator maka aplikasi yang kita compile akan mengikuti, untuk lebih pastinya jalankan aplikasi di luar delphi alias eksekusi hasil compilenya saja, maka pada contoh aplikasi yang saya buat koding diatas tadi akan menghasilkan informasi sebagai berikut
  • Serta ciri khusus lainya pada icon aplikasi kita akan terdapat simbol tameng.
  • Trik ini di coba pada Delphi XE2 dan Windows 7
  • Tidak boleh menggunakan XPManifest (komponen pada delphi) kalau sudah terlanjur hapus komponen serta usesnya

Oke agar saat dieksekusi aplikasi yang kita langsung Run As Administrator, ada beberapa hal yang kita butuhkan :
(Tribute To Mas Ghozali Muslim yang mengajarkan trick ini )
1. Pertama-tama buat script seperti dibawah ini (Saya menggunakan Notepad ++)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity type="win32" name="App" version="3.1.0.0" processorArchitecture="*"/>
 <dependency>
 <dependentAssembly>
 <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
 </dependentAssembly>
 </dependency>
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
 </requestedPrivileges>
 </security>
 </trustInfo>
 <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 <application>
 <!--The ID below indicates application support for Windows Vista -->
 <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
 <!--The ID below indicates application support for Windows 7 -->
 <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
 </application>
 </compatibility>
</assembly>
kemudian simpan file tersebut dengan dengan nama admin.manifest
2. Langkah selanjutnya :
  • Kita buat file .RC saya menggunakan Notepad++,
  • isikan file dengan scrpit : 1 24 “admin.manifest” 
  • setelah itu simpan file dengan nama admin.rc
Maka saat ini kita sudah memiliki 2 file yaitu admin.manifest dan admin.rc ,taruh file-file tersebut dalam satu folder dengan project yang kita buat.
3. Langkah ke-3 kita akan membuat resource file
pertama kita ketik cmd pada search di windows logo kiri bawah dan Run As Administrator pada cmd agar dapat hak akses penuh
AsAdmin-02
Setelah itu ketikkan perintah BRCC32<spasi><lokasi_file><nama_file_ekstensi>, pada contoh yang saya buat file aku letakan di root directory drive D:  maka command yang saya tulis BRCC32 D:\admin.rc (lihat gambar dibawah untuk lebih jelasnya)
*ingat file RC dan MANIFEST harus dalam satu folder
AsAdmin-03

Kemudian tekan enter maka akan muncul beberapa tulisan, lihat di directrory kita taruh file RC tadi maka akan tercipta file baru admin.res, dan sekarang kita punya 3 file admin.manifest/.rc/.res bagi yang kesulitan membuatnya silahkan sedot disini file yang sudah jadi.
Langkah selanjutnya taruh ketiga file tersebut yang sudah kita buat kedalam satu folder project yang kita buat
AsAdmin-04
setelah langkah di atas beres, kita buka project melalui delphi, tambahkan kode ini di form utama  {$R ‘admin.res’} dibawah implemantation dan {$R *.dfm}
selanjutnya buka Project > Options > Application > use cusom manifest > Pilih File .manifest yang kita buat sebelumnya (lihat gambar)
AsAdmin-05
Jika sudah kita lakukan Build dengan memilih Project > Build<application_name> atau shortcut Shift+F9 , setelah proses selesai silahkan compile aplikasi yang telah kita buat, jika semua langkah di atas di ikuti dengan benar maka kita telah berhasil membuat aplikasi yang berjalan menggunakan administrator rights (dengan ciri logo tameng di icon aplikasi hasil compile) dan saat di run akan meminta administrator access, kalau di pilih NO maka aplikasi tidak akan dieksekusi…
AsAdmin-06
Sekian tulisan yang saya buat semoga menjadi manfaat bagi kita semua dan para delphier
silahkan meninggalkan koment bagi yang merasa terbantu dengan tulisan ini atau sekedar memberi kritik dan saran :)
Terimakasih telah meluangkan waktu membaca artikel ini 


Demo Blog NJW V2 Updated at: 17.28

0 komentar:

Posting Komentar

Text Widget

Popular Posts