April 19, 2013

Menggabungkan 2 koneksi internet gratisan.

Akhirnya saya bisa juga melakukan hal ini, singkat saja karena saya lagi males nulis,
Pertama siapkan komposisisnya,:

  1. VirtualBox
  2. Tunnelier
  3. MultiProxy


Langkah-langkah:

  • Silahkan install OS lain di virtual box, install juga aplikasi pendukung gratisan anda,
  • Sebelumnya pastikan anda sudah menjalankan aplikasi pendukung macam ispce, proxomitron atau lain lain, di windows host (windows beneran) anda,
  • Beralih ke windows guest (windows virtual), jalankan tunnelier, lalu set proxy settingnya dengan 10.0.2.2 dengan port sesuai dengan seting di aplikasi gratisan di host anda, setting juga proxy forwardingnya jadi 1080, lalu login dengan akun ssh anda,
  • Jika sudah bisa login, buka lagi tunnelier, tapi kali ini gunakan proxy 127.0.0.1 dengan port sesuai settingan di aplikasi gratisan di guest anda, seeting proxy forwardingnya jadi 2080,
  • Jalankan MultiProxy, masukkan proxy 127.0.0.1:1080 dan 127.0.0.1:2080, selesai, sekarang anda bisa berinternetan dengan kecepatan doble,
Gambar akan saya tambahkan dalam post ini jika saya sudah gak males.

April 16, 2013

SHExtractIconsW: Extract Executable Icon

Pertama kita deklarasi P/invoke, kita akan menggunakan fungsi "SHExtractIconsW" dari Shell32.dll, sebenarnya masih banyak fungsi Shell32.dll lain yang bisa kita gunakan untuk extract icon, sperti "ExtractIconEx" dan "LoadImage", tapi "ExtractIconEx" punya keterbatasan hanya mampu extract large icon (32x32) dan small icon (16x16), sedangkan "LoadImage" membutuhkan "hInstance" sebagai parameternya, itu akan menambah pekerjaan kita, "SHExtractIconsW" sendiri mampu mengextract berapapun ukuran icon, ini dia:
[DllImport("Shell32.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
static extern uint SHExtractIconsW(
    string pszFileName,
    int nIconIndex,
    int cxIcon,
    int cyIcon,
    IntPtr[] phIcon,
    uint[] pIconId,
    uint nIcons,
    uint flags
);
Untuk menggunakanya terlebih dahulu kita deklarasi beberapa variable,
uint nIcons = 1; // Jumlah icon yang ingin kita extract
uint iconsExtracted; // Jumlah icon yang berhasil di extract
int iSizeX = 128; // Ukuran tinggi icon
int iSizeY = 128; // Ukuran lebar icon
IntPtr[] Icons = new IntPtiSizeYr[nIcons]; // Array tempat tersimpannya icon yang kita extract
uint[] IconIDs = new uint[nIcons]; // Array ID icon
Lalu kita panggil fungsinya dengan cara:
iconsExtracted = SHExtractIconsW(strIconLocation, 0, iSizeX, iSizeY, Icons, IconIDs, nIcons, 0);
Sekarang kita baru punya handle dari icon kita, untuk benar-benar mendapatkan icon maka cukup melakukan
Icon myIcon = Icon.FromHandle(Icons[0]);
Selesai, tapi ingat, "SHExtractIconsW" hanya mampu mengextract icon dari file yang mengandung icon, seperti exe, dll, ico, icl, dan sebagainya.