Friday 16 January 2015

FOXPRO :: Cara Membuat Aplikasi TaskManager di foxpro


Di trik kali ini kita akan coba membuat sebuah aplikasi yang cara kerjanya seperti aplikasi "TaskManager". Aplikasi "TaskManager" seperti yang teman - teman sudah banyak tau adalah aplikasi yang pada dasarnya digunakan untuk melihat daftar aplikasi yang sedang berjalan di windows dan selanjutnya bila terjadi error di salah satu aplikasi kita bisa mencari nama aplikasi tersebut kemudian mematikannya. Sebenarnya Windows sendiri mempunyai modul yang berupa aplikasi kecil yang bernama tasklist dan taskkill yang keduanya perjalan dalam modus command atau tanpa GUI. Tasklist ini dapat digunakan untuk menampilkan daftar aplikasi yang sedang berjalan dan Taskkill digunakan untuk mematikan aplikasi. 

Dengan memandaatkan kedua modul kecil tersebut disini kita akan coba untuk membuat sebuah aplikasi yang cara kerjanya mirip TaskManager, yaitu menampilkan daftar aplikasi yang sedang berjalan dan bila ingin mematikan salah satu aplikasi, kita tinggal pilih aplikasi di list dan mematikannya. Meskipun aplikasi ini masih jauh kalau dibandingkan dengan TaskManager bawaan windows tetapi setidaknya teman - teman semua, bisa mempunyai gambaran bila ingin membuat sebuah aplikasi yang dapat mematikan aplikasi yang lain. Ingat dulu saat lagi ngetrendnya virus lokal..mereka sering menggunakan cara seperti ini untuk melindungi dirinya sendiri, misalnya dengan mematikan secara otomatis aplikasi "taskmanager", "regedit" dan lain - lain. Mungkin saja mereka melakukan atau menggunakan cara atau source code yang lain untuk mematikan aplikasi tertentu, tetapi bila ingin menggunakan cara termudah khususnya untuk Visual Foxpro dari segi programmiing mungkin inilah caranya. Dua source code dasar yang digunakan di contoh aplikasi Taskmanager sederhana ini adalah :

! tasklist >> tmp.txt

! taskkill /f /im notepad.exe
Source code pada baris pertama diatas digunakan untuk menampilkan list aplikasi yang sedang berjalan dan kemudian menampungnya di file tmp.txt, sedangkan source code pada baris kedua digunakan untuk mematikan sebuah aplikasi dan pada contoh tersebut yang akan dimatikan adalah aplikasi notepad.exe. Selanjutnya dengan dua source code dasar tersebut dengan melakukan sedikit modifikasi, penyesuaian dan tambahan sedikit logika maka bisa dibuat aplikasi seperti di bawah ini 
Daftar aplikasi yang sedang berjalan pada contoh project ini belum secara otomatis terupdate, jadi teman - teman harus menekan tombol "Refresh List Program Aktif" untuk melakukan update daftar aplikasi yang sedang berjalan. Terus bila ingin membuatnya otomatis gimana???...mungkin tergantung kreatifitas teman - teman...:D, Bila ingin mengutak - atik project sederhananya bisa ambil di link di bawah ini :



sumber : http://www.foxpromania.com/2011/03/membuat-aplikasi-taskmanager-sederhana.html

CMD :: Cara membuat task manager di CMD


tampilancmd


Kira-kira tampilan Command Prompt atau CMD itu biasanya seperti gambar diatas. CMD ini sebenarnya banyak fungsinya, namun sangat jarang digunakan para user. Bagaimana untuk menampilkan apa saja service atau aplikasi yang sedang kita gunakan ? cukup dengan perintah tasklist maka semua service atau aplikasi yang kita gunakan akan ditampilkan.
tasklistcmd

Kira-kira akan ada tampilan seperti image/gambar diatas jika kita mengetikkan perintah tasklist, dari beberapa kolom yang ada yang perlu kita perhatikan adalah kolom PID.
Sebagai contoh seperti yang ditampilkan gambar diatas, ada aplikasi Firefox yang sedang berjalan dengan PID 2520, nah untuk menghentikan paksa aplikasi ini seperti layaknya menggunakan task manager, kita cukup mengetikkan perintak tskill kemudian kode PID.
Dalam contoh ini maka kita perlu mengetikkan perintah tskill 2520, begitu perintah ini dieksekusi atau kita menekan enter maka aplikasi Firefox akan tertutup secara langsung.

DELPHI7 :: Cara membuat Task manager dengan Delphi7


  • Buka Program delphi 7 Anda.
  • Tambahkan komponen Listview (pada tab Win32) dan 3 Button  (Tab Standart) untuk Button close, refresh dan kill.
  • Selanjutnya Buat tampilan seperti berikut :
Task manager
Tampilan Blue Print Program task manager
  • Oke, tahap selanjutnya beri nama masing-masing Button dengan Caption : Refresh, Kill Prosess dan Cancel.
  • Sekarang tekan tombol F12 untuk masuk ke Jendela Source.
  • Nah sebelum menulis program, tambahkan “tlhelp32″ pada uses dan tambahkan variabel global “lvi:TListitem;”
  • Ketikan source berikut setelah Implementation.
 Procedure TForm1.TutupProsesID(ID:THandle);
//Disini kode untuk menututu proses
procedure TerminateProcessById(AID: Cardinal);
var
HndProcess,ExCode : THandle;
begin
//Baca Proses ID-nya
HndProcess := OpenProcess(PROCESS_ALL_ACCESS,True,AID);
GetExitCodeProcess(HndProcess,ExCode); {Dapatkan kode untuk menutupnya}
TerminateProcess(HndProcess,ExCode) {Tutup prosess sekarang..!};
CloseHandle(HndProcess); {Fresh Memory}
end;
{
Nah ini kode untuk dapat mengakses proses service yang biasanya tidak bisa
di terminate dengan kode biasa, untuk itu diperlukan kode tambahan
berikut kodenya :
}
function SetPrivilege(aPrivilegeName: string; aEnabled: boolean): boolean;
var
TP : TTokenPrivileges;
TPPrev : TTokenPrivileges;
Token : THandle;
dwRetLen : DWord;
begin
Result := False; //Nilai default
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
TP.PrivilegeCount := 1;
if (LookupPrivilegeValue(nil, PChar(aPrivilegeName), TP.Privileges[0].LUID)) then begin
if (aEnabled) then
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
else
TP.Privileges[0].Attributes := 0;
dwRetLen := 0;
Result := AdjustTokenPrivileges(Token, False, TP, SizeOf(TPPrev), TPPrev, dwRetLen);
end;
CloseHandle(Token);
end;

function KillProcessByPID(pid: cardinal): boolean;
var
hProc : THandle;
begin
Result := False;
//Untuk mematikan proses dibutuhkan kode privilege
if not SetPrivilege('SeDebugPrivilege', True) then exit;
hProc := OpenProcess(STANDARD_RIGHTS_REQUIRED or PROCESS_TERMINATE, False, pid);
try
if hProc > 0 then begin
Result := TerminateProcess(hProc, 1);
end;
finally
CloseHandle(hProc);
SetPrivilege('SeDebugPrivilege', False);
end;
end;

Begin
KillProcessByPID(ID); //Tutup proses ID sekarang juga...!
End;

//Baca Semua proses di sini..
procedure TForm1.BacaProses;
var
hSnap:Cardinal;
pe32:TProcessEntry32;
s:String;
begin
//Buat dahulu snapshootnya di mulai dari proses desktop
hsnap:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
if hSnap = INVALID_HANDLE_VALUE then
exit;
FillChar(pe32, sizeof(pe32),0);
pe32.dwSize:=Sizeof(pe32);
if not Process32First(hsnap, pe32) then
exit;
ListView1.Clear; //hapus seluruh list
//tambahkan seluruh list dengan nama dan PID proses..
repeat
lvi:=ListView1.Items.Add;
s:=IntToStr(pe32.th32ProcessID);
lvi.caption := pe32.szExeFile;
lvi.subitems.Add(s);
until not Process32Next(hsnap, pe32);
CloseHandle(hSnap);
end;
  • Lanjut… Klik 2 x pada Button refresh dan ketikan : Bacaproses;
  • Sama seperti diatas klik 2 x pada button Kill Prosess dan ketikan berikut :
try if Application.MessageBox('Yakin akan menutup program?'+#13+'Kemungkinan anda akan kehilangan data saat kill program ini.','::: Warning !!! :::', MB_YESNO or MB_ICONHAND)
=mryes then
begin
TutupProsesID(strtoint(listview1.Selected.SubItems[0]));
Form2.Refresh;
end;
except
if Application.MessageBox('Upss!!! Silahkan pilih program terlebih dahulu.','::: Warning !!! :::', MB_RETRYCANCEL)
=mrRetry then
begin
ListView1.ItemFocused;
end
else
FormShow(sender);
end;
  • Sekarang Cek program dengan menekan CTRKL + F9, jika error silahkan periksa kembali.
  • Sekarang coba Running Program dengan tombol F9, maka akan tampak seperti berikut :
Alternate Killer
Program setelah di Running


Read more: http://burhanudin.web.id/programing/membuat-task-manager-dengan-delphi-7#ixzz3P8SY0re8

VB6.0 :: Membuat task manager dengan VB6.0


Buat Propertiesnya :
                Form1
                                BorderStyle : None
                Label1 (Cuma buat judul aplikasi)
                                Caption : Task Manager
                Label2
                                Caption : X

                Command1
                                Name : cmdEndTsk
                                Capyion : End Task
                Coomand2
                                Name : cmdRefresh
                                Caption : Refresh
                Command3
                                Name : cmdToogle
                                Caption : Toogle

                CheckList1
                                Name : chk1
                                Caption : Window terlihat
                CheckList2
                                Name : chk2
                                Caption : Window Tersembunyi

Kurang lebih ya seperti ini..






















Buat modulnya scriptnya seperti berikut :

Option Explicit

Public Const SW_HIDE = 0
Public Const SW_SHOW = 5

Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
( _
  ByVal hWnd1 As Long, _
  ByVal hWnd2 As Long, _
  ByVal lpsz1 As String, _
  ByVal lpsz2 As String _
) As Long

Public Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" _
( _
  ByVal hwnd As Long, _
  ByVal lpString As String, _
  ByVal cch As Long _
) As Long

Public Declare Function lstrlen Lib "kernel32" _
Alias "lstrlenA" _
( _
  ByVal lpString As String _
) As Long

Public Declare Function GetClassName Lib "user32" _
Alias "GetClassNameA" _
( _
  ByVal hwnd As Long, _
  ByVal lpClassName As String, _
  ByVal nMaxCount As Long) As Long

Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
( _
  ByVal hwnd As Long, _
  ByVal wMsg As Long, _
  ByVal wParam As Long, _
  lParam As Any _
) As Long

Public Declare Function IsWindowVisible Lib "user32" _
( _
  ByVal hwnd As Long _
) As Long

Public Declare Function ShowWindow Lib "user32" _
( _
  ByVal hwnd As Long, _
  ByVal nCmdShow As Long _
) As Long

------------------------------------------------------------------------------------------------------------------------------------------
Kemudian masukkan script berikut di form1,
------------------------------------------------------------------------------------------------------------------------------------------

Option Explicit
Dim hWndTGT As Long

Private Sub cmdEndTsk_Click()
If hWndTGT = 0 Then Exit Sub

SendMessage hWndTGT, &H112, &HF060, 0
End Sub

Private Sub cmdRefresh_Click()
Dim hWndx As Long
Dim lpStr As String * 255
Dim cnt As Integer
Dim lpClassName As String * 255

List1.Clear

hWndx = FindWindowEx(0, 0, vbNullString, vbNullString)
Do
GetWindowText hWndx&, lpStr, 255
GetClassName hWndx&, lpClassName$, 255

If chk1.Value And chk2.Value Then
GoTo IsiData
ElseIf chk1.Value Then
If IsWindowVisible(hWndx) Then
GoTo IsiData
End If
ElseIf chk2.Value Then
If Not IsWindowVisible(hWndx) Then
GoTo IsiData
End If
End If

Ulangi:
hWndx = FindWindowEx(0, hWndx, vbNullString, vbNullString)
DoEvents
Loop While hWndx > 0
Exit Sub
IsiData:
cnt = List1.ListCount
List1.AddItem Left$(lpStr, lstrlen(lpStr)) + " (" + _
Left$(lpClassName, lstrlen(lpClassName)) + ")"
List1.ItemData(cnt) = hWndx
GoTo Ulangi
End Sub

Private Sub cmdToggle_Click()
If IsWindowVisible(hWndTGT) Then
ShowWindow hWndTGT, SW_HIDE
Else 'bila tersembunyi maka
ShowWindow hWndTGT, SW_SHOW
End If
End Sub

Private Sub Label2_Click()
End
End Sub

Private Sub List1_Click()
hWndTGT = List1.ItemData(List1.ListIndex)
End Sub

VB.NET :: Cara membuat Task manager dengan VB.net

bahan:
  • 1 listview dengan 3 headcolumn, column1 ganti text menjadi Nama, column2 menjadi PID dan column ke 3 menjadi Memory
  • StatusStrip dengan menu StatusLabel dalam hal ini yang saya gunakan StatusLabel3
  • 1 button dan 2 Timer 
Lihat gambar dibawah:
Kemudian pada tab CPU Performance komponen tambahannya adalah:
  • 2 Groupbox
  • 8 label
  • 2 progressbar
Lihat gambar dibawah:

 Selanjutnya klik 2 kali form yang sudah dibuat, hapus semua kode dan masukkan kode dibawah ini:
Public Class Form1
    Dim pro As Process
    Dim idih As ListViewItem
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = True

    End Sub





    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each prog As ListViewItem In ListView1.SelectedItems
            MsgBox("Anda akan menghentikan proses " & prog.SubItems(0).Text)
            System.Diagnostics.Process.GetProcessById(prog.SubItems(1).Text).Kill()
            Timer1.Enabled = True
        Next
    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ListView1.Items.Clear()
        For Each Me.pro In Process.GetProcesses
            idih = ListView1.Items.Add(pro.ProcessName)
            idih.SubItems.Add(pro.Id)
            idih.SubItems.Add(Math.Round(pro.PrivateMemorySize64 / 1024))
            ToolStripStatusLabel3.Text = "Jumlah Proses: " & ListView1.Items.Count
        Next
        Timer1.Enabled = False
    End Sub
    Dim proses As New PerformanceCounter
    Dim pros As New PerformanceCounter
    Dim prose As New PerformanceCounter
    Dim thr As New PerformanceCounter

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        proses.CategoryName = "Processor"
        proses.CounterName = "% Processor Time"
        proses.InstanceName = "_Total"
        ProgressBar1.Value = proses.NextValue
        Label5.Text = ProgressBar1.Value & " %"
        Label6.Text = ProgressBar2.Value & " %"
        pros.CategoryName = "Memory"
        pros.CounterName = "% Committed Bytes In Use"
        ProgressBar2.Value = pros.NextValue
        prose.CategoryName = "Process"
        prose.CounterName = "Handle Count"
        prose.InstanceName = "_Total"
        thr.CategoryName = "Process"
        thr.CounterName = "Thread Count"
        thr.InstanceName = "_Total"
        Label8.Text = prose.NextValue
        Label7.Text = thr.NextValue
    End Sub
End Class
Maka setelah di Run akan menghasilkan karya seperti 2 gambar ini:

Thursday 15 January 2015

Perancangan dan Pembuatan Sound Aktifasi Robot KRCI dengan IC LM555

Untuk rangkaian sound aktifasi terdiri dari 2 bagian yaitu pemancar dan penerima. Rangkaian pemancar berfungsi membangkitkan sinyal suara dengan frekuensi tertentu dan rangkaian penguat agar suara yang dihasilkan mempunyai daya yang tinggi selanjutnya adalah speaker sebagai output yang berfungsi untuk mengeluarkan suara.


Pembangkit gelombang yang digunakan adalah IC LM555 yang diatur sebagai pembangkit gelombang kotak. Frekuensi yang diinginkan adalah sebesar 3 – 4 kHz.

  Frekuensi yang dihasilkan dapat diatur dari kombinasi nilai resistor dan kapasitor RA, RB, dan C yang dapat dihubungkan dengan menggunakan rumus sebagai berikut.
                          f =1.414 / ((RA + 2*RB)*C)
                        Duty_Cycle = RB / (RA + 2*RB)
            
Supaya lebih memudahkan pengaturan resistor Rmenggunakan sebuah variable resistor supaya dapat diubah-ubah frekuensinya sesuai kebutuhan. Nilai-nilai RA, RB, dan C yang diperoleh darii perhitungan dengan rumus diatas adalah sebagai berikut:R= 1 kΩ; R= 3.9 kΩ; C = 0.047µF

Gambar 1 IC LM555 sebagai sound generator
                

Pada rangkian penerima terdiri atas mic sebagai input dan juga menerima gelombang suara dari pemancar. Dengan mengatur nilai resistor dan kapasitor, dapt diatur range frekuensi yang dapat dideteksi oleh IC ini. Jadi nilai resistor dan kapasitor yang dihubungkan pada IC tersebut diatur sehingga dapat mendeteksi suara pada range frekuensi tersebut (3 – 4 kHz).

Besarnya frekuensi tegangan dari tone decoder ini dapat dihitung dengan menggunakan rumus:
                             fo = 1 / (1.1*R1*C1)
Untuk selanjutnya nilai kapasitor Cdibuat tetap sedangkan nilai Rdibuat variable untuk memidahkan dalam melakukan seting dalam rangka mendapatkan nilai frekuensi yang diinginkan. 

 Output dari IC ini adalah berupa open colektor yang dapat disambung dengan sebuah LED sebagai indicator. Output dapat langsung dihubungkan dengan pin mikrokontroller dengan terlebih dahulu diberikan resiator pullup. Sedangkan untuk rangkaian amplifiernya menggunakan penguat sebuah transistor biasa untuk memberikan sinyal yang ditangkap oleh microphone.


Gambar 2 Rangkaian Tone decoder LM567 dan Rangkaian Amplifier

RANGKAIAN Sound Activation LM324


Gambar rangkaian:

 

Gambar 1. Rangkaian Sound Activation

Dari rangkaian diatas mic condensor berfungsi sebagai penerima sinyal suara yang dirangkai menjadi pembagi tegangan, kemudian tegangan dari mic condensor masuk ke input inverting (V-) IC LM324 / LM393. Kemudian trimpot untuk mensetting nilai tegangan input non inverting / tegangan refrensi (V+) dalam hal ini digunakan sebagai sensitivitas mic condensor. Tegangan output dari komparator masuk ke port mikrokontroler dan diberi indikator led. Setelah di uji coba mic condensor ketika mendeteksi suara, lampu indikator led menyala atau logika High (1). sedangkan jika mic condensor tidak mendeteksi suara, lampu indikator led tidak menyala atau logika low (0). 

Trimpot yang digunakan sebaiknya jenis multi turn, hal ini dikarenakan agar sensitivitas dari mic condensor bisa diatur sebaik mungkin. berikut jenis trimpot multi turn yg digunakan.

 


 Gambar 2. Trimpot Multi turn

Sound activation ini masih memiliki kekurangan yaitu jarak suara yang diterima tidak terlalu jauh. sehingga harus di tambah dengan rangkaian penguat.

sumber : http://jhorobin.blogspot.com/2014/04/diy-sound-activation.html