Friday 16 January 2015

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

Rangkaian Sound Activation Atau Tone Detector Menggunakan IC LM567



https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-LEGpohh-rhgUqsIR5szEwp5ByX2z5XIZHggsoeYkWh3NHS7CmOLc2Qv7UiX4jNCX2siSInspGVerCxYe74VVOVrte0jlr0FUenyRxVQIQ3-Wy4cWR-LaHMlrS22Lr9Loh51hLYF4xek/s1600/tone+detector.jpg

1. IC LM567 Tone Decoder (komponen utama dalam rangkaian ini)
2. Microphone (Sebagai Inputnya)
3. Catu daya 5 VDC 
4. RV1= Resisitor Variabel (Trimmpot/Potensiometer) 10k Ohm (kode= 103)
5. R1, R3 = 10k Ohm 
    (bebas berapa watt dan toleransinya, tapi kalau bisa yang 1/4 watt dan toleransi 1%)
6. R2 = 1k Ohm
7. Led 5mm (untuk indikator)
8. C1= Elco 2.2 uF ( bebas berapa Volt)
9. C2,C4 = Elco 0.1 uF ( bebas berapa Volt)
10. C3 = Elco 10 uF  ( bebas berapa Volt)
11. Soket IC 4x2 atau 8 pin (untuk dudukan IC LM 567)
12. Header Pin (untuk soket input dan outputnya )

Tataletak komponen
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNRmKEUIw9o0jqxhmVkfBcZnGRUV6GHJSUCfSR033SuG_BO4RaB6X4Cg33iVyex7itDp3vcsunycRyundkOkYSqO2YWOQOm4x8hop1VgSFQKdgtkCnIOXy492HKayw1jnbjfnXnVOjE2c/s1600/tataletak+SA.png
Jalur PCB
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyvdnoADDuobneM9tl4g2KD0CJErDjEoFWdU5KiA73WJf5z2g9C-Ghyphenhyphen_H91iVjL-Sc7TQ8QFsOoHaYGplw6uwjARdL9jkiqYOtE87_hVI4IHIUOeGTiEPUWHm19Lbmdq26inMJ5XzH-e8/s1600/pcb+SA.png

sumber : http://www.rizrobot.com/2014/01/schematic-and-pcb-rangkaian-sound.html

HTA :: Membuat Pengganti Task Manager Dengan Notepad


Notepad memang bukan hanya text-editor biasa. Kita bisa memanfaatkan notepad untuk fungsi-fungsi pada windows seperti VBScript (.vbs) dan JScript (.js). Script tersebut akan dieksekusi oleh sebuah aplikasi bernama wscript.exe pada windows. Jadi misalkan anda mengerti programming Javascript atau VBscript for Windows, maka anda dapat memanfaatkan fungsi - fungsi Windows yang tadi sudah saya sebutkan. 

Contoh nyata dari pemanfaatan wscript.exe adalah virus harry potter yang membuat shortcut-shortcut dari semua folder. Itu merupakan virus yg memanfaatkan wscript.exe.

  1. Jalankan Notepad (Run - ketik: notepad - kemudian ENTER)
  2. copy-paste code berikut:
    <html><head><title>Task Manager Buatan</title>
    <HTA:APPLICATION
    APPLICATIONNAME="KaskusKill" ID="oHTA" BORDER="thick"
    BORDERSTYLE="normal" CAPTION="yes" CONTEXTMENU="yes"
    INNERBORDER="no" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="yes"
    NAVIGABLE="yes"
    ICON="TASKMGR.EXE" SCROLL="yes" SCROLLFLAT="yes"
    SELECTION="no" SHOWINTASKBAR="yes" SINGLEINSTANCE="no"
    SYSMENU="yes" VERSION="0.3" WINDOWSTATE="normal" WIDTH="3%">
    </head>
    <script language=vbscript>
    sub LIST()
    dim objService,Process,colProcess,datanya
    dim return,isi
    set objService = getobject("winmgmts:")

    datanya = "<font face=verdana size=2pt color=white>"
    datanya = datanya & "<b>DAFTAR RUNNING PROGRAM:</b><br><br>"
    datanya = datanya & "<table cellspan=0 cellpadding=0 border=1"
    datanya = datanya & " bordercolor=black><tr bgcolor=black><td>"
    datanya = datanya & "<font face=verdana size=2pt color=white>"
    datanya = datanya & "<b>PID</td><td><font face=verdana size=2pt"
    datanya = datanya & " color=white><b>Nama Proses</td><td><font "
    datanya = datanya & "face=verdana size=2pt color=white><b>Aksi</td></tr>"

    for each Process in objService.InstancesOf("Win32_process")
    Return = Process.GetOwner(isi)
    datanya = datanya & "<tr bgcolor=#333333><td><font face=verdana "
    datanya = datanya & "size=2pt color=white><b>"
    datanya = datanya & Process.processid & "</b></td><td><font "
    datanya = datanya & "face=verdana size=2pt color=white>"
    datanya = datanya & process.name & "</td><td bgcolor=black "
    datanya = datanya & "onclick=vbscript:BUNUH("
    datanya = datanya & process.processid & ")><font face=verdana "
    datanya = datanya & "size=2pt color=#FFCC00> <b>End Task "
    datanya = datanya & "</b></td></tr>"
    Next
    data.innerhtml = datanya
    end sub
    sub BUNUH(PID)
    dim objService,Process,colProcess,t,vv
    t = msgbox("Anda yakin bunuh PID " & pid & "?",36,"Tenz!KILLER")
    if t = 7 then exit sub
    set objService = getobject("winmgmts:")
    vv = "Select * from Win32_Process Where processID = " & PID
    Set colProcess = objService.ExecQuery (vv)
    For Each Process in colProcess
    Process.Terminate()
    Next
    list
    end sub
    </script>
    </head><body onload="vbscript:list" bgcolor=#666666>
    <span id="data"></span>
    <br/><table bgcolor=#FFCC00><tr><td onclick=vbscript:list>
    <font face=verdana size=2pt><b> REFRESH </b></td></tr></table>
    </body></html>
  3. Kemudian simpan dengan nama TaskManager.HTA (bisa diganti dengan nama lain, asalkan dengan extensi format .hta)
  4. Setelah itu, silahkan jalankan file .hta tersebut hanya dengan double klik saja.
  5. Kemudian tekan tombol End Task untuk menghentikan proses.

Gimana? sudah selayaknya task manager-nya windows (Ctrl+Alt+Del) kan???
Nah, ini bisa dimanfaatkan jika task manager windows kita didisable oleh karena terinveksi virus.

Selamat Mencoba!!! 
NB: Trik ini hanya bisa di pakai pada windows XP service pack 1, service pack 2, dan service pack 3

(sumber: http://judotenslab.blogspot.com/)