Rabu, 19 November 2008

Buat C# jadi single instance app

karena tertarik dengan fitur yang ada di VB, dimana kita bisa set sebuah aplikasi menjadi hanya single instance app, di mana untuk 1 komputer, program hanya bisa dijalankan 1 kali saja. dengan VB ini bisa didapat dengan sangat2 mudah, yaitu dengan mengatur settingan dibagian properties > application - lihat bagian 'make single instance application' (berikan tanda cek dipilihan yang satu ini). ok, itu saja,

nah, bagaimana kalau ingin diterapkan di C#, setelah coba dicari dibagian settingan properties, ternyata pilihan untuk itu tidak ada, karena penasaran, coba langsung cari solusinya dengan google, dan akhirnya dapat :-). sisipkan code dibawah ini ke dalam aplikasi anda:

using System.Threading;

static void Main(){
bool firstInstance = false;
string safeName = Application.UserAppDataPath.Replace(@"\", "_");
Mutex mutex = new Mutex(false, safeName, out firstInstance);
if(firstInstance){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}

dan test untuk dijalankan, and voila..... akhirnya bisa single instance jg :-)

semoga bermanfaat,
ADI

Senin, 17 November 2008

WMI dlm VB ?

WMI jg bisa diterapkan dalam VB. berikut ini adalah contoh yang sama seperti yang sudah ada dipostingan saya yang sebelumnya (WMI - C# Corner), namun dengan menggunakan bahasa Visual Basic.

cara yang digunakan sama, cuman praktek penggunaannya agak sedikit berbeda.

1. tambahkan dulu dll yang dibutuhkan dari menu : Project - Project's name properties - Reference - Add (tambahkan dll : System.Management dan System.Mangement.Instrumentation)

2. kemudian import namespace yang dibutuhkan dengan statement imports:
Imports System.Management
Imports System.Management.Instrumentation

3. ketikkan kode berikut ini untuk mendapatkan informasi mengenai prosesor yang anda gunakan (dalam console app):
Dim searcher As New ManagementObjectSearcher("select Name from Win32_Processor")
For Each obj As ManagementObject In searcher.Get()
Console.WriteLine("Prosesor yang digunakan : " & obj.GetPropertyValue("Name"))
Next

output yang dihasilkan akan sama

ok, semoga bermanfaat

ADI

WMI

sempat kerepotan jg kemarin ketika ingin mendapatkan informasi mengenai hardware komputer yang digunakan (informasi mengenai processor yang digunakan). akhirnya ketemu dengan jargon yang satu ini : WMI (Windows Media Instrumentation)

untuk menggunakan WMI, tambahkan 2 references berikut ini ke dalam aplikasi C# anda:
System.Management dan System.Management.Instrumentation

kemudian dengan menggunakan using, import kedua namespace yang akan digunakan ke dalam aplikasi C# anda :
using System.Management;
using System.Management.Instrumentation;

kemudian untuk mendapatkan informasi mengenai processor komputer, sisipkan code berikut ini (dalam console app):

ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select Name from Win32_Processor");
foreach (ManagementObject obj in searcher.Get())
{
Console.WriteLine("Processor Komputer Anda : " + obj.GetPropertyValue("Name"));
}

output program jika dijalankan di komputer saya :


semoga bermanfaat,

ADI

Kamis, 13 November 2008

operator ternary

mgkn anda pernah menggunakan operator ternary di bahasa java, C++, atau C#.

lihat contoh dibawah ini:

int x = 5;
int y;

y = (x > 10) ? x+5 : x+10;

operasi di atas sama dengan:

if( x > 10 )
y = x + 5;
else
y = x + 10;

dengan Visual Basic sebelum versi 9.0, operator ternary jg bisa kita dapatkan dengan menggunakan statement iif seperti dibawah ini:

Dim x as Integer = 5
Dim y as Integer

y = iif(x > 10, x+5, x+10)

untuk Visual Basic 9.0, kita jg bisa melakukan operasi ternary seperti di atas dengan menggunakan if statement, seperti di bawah ini:

y = if(x > 10, x+5, x+10)

ok, semoga bermanfaat ;-)

Salam,
ADI

Jumat, 07 November 2008

Future Direction of C#

ingin mengetahui arah pengembangan dari C# programming language, 

klik link berikut ini :-)

http://channel9.msdn.com/pdc2008/TL16/

Salam,

ADI