Cara Membuat Program VB6 - Run as Administrator

Assalamualaikum wr.wb.. selamat pagi para bloggers.. semoga semuanya dalam keadaan sehat wal afiat.. amin ^^.. kali ini saya akan membagikan cara membuat software otomatis run as administrator di vb 6.0 ..
barangkali ada yang bertanya-tanya " kenapa software yang saya buat tidak work/error di windows 7 atau 8 ? atau apakah saya harus klik kanan lalu pilih run as administrator setiap membuka software saya ? " tentu tidak...ada cara untuk membuat software kita otomatis run as administrator di vb 6.0.. berikut adalah langkah langkahnya :

Supaya aplikasi yang dibuat dengan vb6 bisa "run as administrator" atau bisa dikenali oleh UAC windows (Untuk windows vista keatas), tambahkan file manifest di dalam folder yg sama dengan aplikasi yg dimaksud. isi dari file manifestnya.. tulis script dibawah ini kedalam notepad :
Untuk run ad administrator :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   <assemblyIdentity version="1.0.0.0"     processorArchitecture="X86"     name="NamaAplikasi"     type="win32"/>   <description>Deskripsi aplikasi</description>   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">    <security>      <requestedPrivileges>        <requestedExecutionLevel          level="highestAvailable" uiAccess="false"/>        </requestedPrivileges>       </security>  </trustInfo></assembly>
Untuk run ad administrator dan Mempercantik tampilan aplikasi :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   <assemblyIdentity version="1.0.0.0"     processorArchitecture="X86"     name="SensAv Pro Antivirus"     type="win32"/>   <description>Deskripsi aplikasi</description>   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">    <security>      <requestedPrivileges>        <requestedExecutionLevel          level="highestAvailable" uiAccess="false"/>        </requestedPrivileges>       </security>  </trustInfo>
    <dependency>          <dependentAssembly>              <assemblyIdentity                   type="win32"                   name="Microsoft.Windows.Common-Controls"                   version="6.0.0.0"                   processorArchitecture="X86"                   publicKeyToken="6595b64144ccf1df"                   language="*" />          </dependentAssembly>      </dependency>  
</assembly>
 kemudian simpan dengan nama yang sama dengan aplikasi yg dimaksud dan beri ekstensi .MANIFEST, misalnya nama aplikasinya "CobaAja.exe", maka simpan skrip tersebut dengan nama "CobaAja.MANIFEST" dengan catatan semua file (File aplikasi dan file manifest) harus berada dalam folder yg sama.


ATAU


Hai, Sahabat Fyan..
Bertemu lagi dengan saya..
Udah lama saya gak posting karena kepentingan sekolah dan hal-hal lainnya yang mengakibatkan saya tidak bisa posting.
Pada kesempatan kali ini saya akan membahas tentang "Cara Membuat Program VB6 Run as Administrator"

Caranya:
1. Buatlah Project baru dan tambahkan textbox di dalamnya
2. Copy kode berikut ke textbox
    Kode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="Amzkomp"
     type="win32"/>
  <dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
  <description>Protect your data</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="highestAvailable" uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>
3. Di Form Load, Copy kode berikut :
Kode:
If Dir(App.Path & "\" & App.EXEName & ".exe.manifest") = "" Then
Open App.Path & "\" & App.EXEName & ".exe.manifest" For Output As #1
Print #1, Text1.Text
Close #1
End If
4. Untuk deklarasi, Copy-kan kode berikut 
Kode:
Private Declare Function InitCommonControls Lib "comctl32.dll" () As Long
5. Kemudian copy kode berikut di form intialize
Kode:
InitCommonControls
6. Build Aplikasi

Nah, coba dijalankan aplikasinya.
Pertama kali memang tidak bisa karena file manifestnya belum ada. Nanti, pas dijalankan untuk ke-dua kalinya baru Run as Administrator.

Bagaimana? Berhasil?

Semoga Artikel ini bermanfaat...


ATAU


Anda perlu menggunakan API untuk menentukan apakah pengguna saat ini memiliki hak administratif atau tidak.
Untungnya, ada satu fungsi yang kembali 0untuk Falsemenunjukkan status pengguna saat ini. Yaitu: IsUserAnAdmin
Berikut ini cara mendeklarasikan dan menggunakannya:
'In a module file:
Public Declare Function IsUserAnAdmin Lib "Shell32" Alias "#680" () As Integer
Lalu di Form_Load()
Sub Form_Load()

   If IsUserAnAdmin() = 0 Then 
     MsgBox "Not admin" 
   Else 
     MsgBox "Admin" 
   End If

End Sub
Catatan : Fungsi Shell IsUserAnAdmindihilangkan . Anda dapat mengganti fungsionalitas dengan sesuatu seperti ( pseudocode ):
Boolean IsUserAdmin()
{
   PSID administratorsGroup = StringToSid("S-1-5-32-544"); //well-known Administrators group

   Boolean isAdmin;
   if (not CheckTokenMembership(0, administratorsGroup, out isAdmin) then
      isAdmin = false;

   FreeSid(administratorsGroup);

   return isAdmin;
}

Komentar

Postingan populer dari blog ini

Login, Session, dan Logout

Cara Membuat File Setup / Installer Aplikasi Sendiri dengan Inno Setup Compiler