h1

Sub Sistem WIN32 API, dan Contoh program pemanggilan fungsi WIN32API

November 11, 2009
Subsistem WIN32 adalah suatu lapisan layanan yang terdapat pada semua sistem operasi berbasis Microsoft. Layanan yang diberikan antara lain: penciptaan proses (eksekusi program), penanganan antar muka grafis, penanganan input dan output pengguna.

Sub sistem WIN32 hadir dalam bentuk pustaka (*.dll) yang tersimpan di direktori sistem. mis di XP: %SystemRoot%\System32

Pustaka yang paling inti adalah:

  • Gdi32.dll àberisi fungsi-fungsi manipulasi grafis
  • User32.dll àberisi fungsi-fungsi mengontrol objek-objek yang terlihat di layar
  • Kernel32.dll àberisi fungsi-fungsi untuk memanggil layanan kernel sistem operasi (operasi memori, berkas, device)
WIN32 API memberikan spesifikasi layanan fungsi sub sistem WIN32:
  • Sebagian besar adalah fungsi-fungsi grafis (membuat form windows, dialog ,warna, font, menggambar bentuk)
  • Fungsi-fungsi antarmuka user (keyboard, mouse)
  • Fungsi-fungsi akses piranti i/o dan memori
  • Fungsi-fungsi yang mengabstraksi fungsionalitas lainnya dari kernel sistem operasi
Pada Visual C++, pemanggilan terhadap fungsi-fungsi WIN32 API dapat dilakukan jika file header windows.h di include-kan  pada source code program. Sebelum kita memakai suatu fungsi WIN32 API, kita butuh mengerti parameter-parameter yang harus kita lewatkan untuk pemanggilan fungsi WIN 32 API tersebut!
Contoh program C  memanggil aplikasi notepad dengan fungsi WIN32API CreateProcess :

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
void  main(int argc, char argv[])
{   //initialisasi struktur data dan variable
STARTUPINFO startInfo;
PROCESS_INFORMATION processInfo;
ZeroMemory(&startInfo, sizeof(startInfo));
startInfo.cb = sizeof(startInfo);
//menciptakan proses Notepad
printf(“Menyuruh Sistem Operasi membuat proses Notepad.exe\n”);
if(!CreateProcess(NULL,”notepad.exe”,NULL, NULL, FALSE,NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE, NULL,NULL, &startInfo, &processInfo )){
printf(“Fail to create the process \n”);
ExitProcess(1);
system(“PAUSE”);
}
system(“PAUSE”);
ExitProcess(0);
}

About these ads

4 comments

  1. buset..
    tuh kode apaan yak?


  2. ow… bgitu…. tks yah infonya,,,kalo cara mengkopy ke system32 gimana? cz tmnku nyuruh aku kopy data ke system32. aku jadi bingung


  3. masukkin data ke notepad gtu??
    itu jga ak lg belajar bro… hehe
    ada sich cara’a…
    yg jelas syntax’a beda bngt kok sma fungsi2 diatas…



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: