LÊN LỊCH TỰ ĐỘNG DỌN DẸP CHO WIN 7

Người đăng: buonkhongem on Thứ Tư, 23 tháng 2, 2011

Để tiết kiệm thời gian và công sức, bạn có thể xác lập thời gian tự động dọn dẹp các file tạm, file rác phát sinh trong quá trình hoạt động của hệ thống Win 7. Các bước được thực hiện lần lượt như sau:
Đầu tiên bạn vào Start và gõ vào ô Search câu task scheduler, sau đó bấm Enter.


Một cửa sổ hiện ra, bạn bấm vào thẻ Action và chọn Create Basic Task ở menu xổ xuống.


Tại giao diện Create Basic Task Winzard, bạn gõ tên cho tác vụ vào khung Name, mô tả tác vụ ở Description, rồi bấm Next.


Bây giờ, bạn xác định thời điểm cho hệ thống tự dọn dẹp (có nhiều thời điểm để bạn chọn như hàng ngày, hàng tuần, hàng tháng...) sau đó bấm Next.


Trong thẻ tiếp, bạn chọn mục Start a program > Next


Kế tiếp, trong khung Program/scrip, bạn gõ lệnh cleanmgr.exe hoặc bấm nút Browse kiếm theo đường dẫn C:\Windows\system32\cleanmgr.exe. sau đó bấm nút Next


Sau cùng bạn bấm nút Finish để hoàn thành tác vụ cho Win 7 tự dọn dẹp hệ thống mà mình đã xác lập.






More about

XEM THÔNG TIN NHIỀU Ổ ĐĨA CÙNG LÚC

Người đăng: buonkhongem

Thông thường khi muốn xem thông tin ổ đĩa, bạn bấm phải chuột vào ổ đĩa đó và chọn Properties. Ngoài ra nếu muốn xem nhiều ổ đĩa  cùng lúc các bạn có thể làm như sau:
Bấm giữ nút Ctrl đồng thời bấm chọn các ổ đĩa mình muốn xem, sau đó bấm phải chuột lên một ổ đĩa bất kỳ chọn Properties, một hộp thoại hiện lên, bây giờ muốn xem thông tin ổ đĩa nào bạn chỉ việc trỏ chuột lên tab trên cùng và chọn ổ đĩa muốn xem








More about

ĐỂ WINDOWS MEDIA PLAYER 12 LUÔN NỔI

Người đăng: buonkhongem on Thứ Ba, 22 tháng 2, 2011

Khi sử dụng Win 7, bạn sẽ gặp phải tình trạng cửa sổ phát nhạc Windows Media Player sẽ bị "Đè" khi bạn mở một ứng dụng bất kỳ, để Windows Media Player 12 luôn nổi trên các ứng dụng, bạn làm theo phương pháp sau:
Đầu tiên bạn phải khởi động Windows Media Player, sau đó bấm vào View chọn Now Playing (hoặc bấm phím tắt Ctrl+3)


Tiếp theo, bạn nhấn phải chuột lên màn hình của Windows Media Player chọn Always show Now Playing on top


Lúc này, bạn có thể di chuyển màn hình của Windows Media Player đến bất cứ vị trí nào trên màn hình desktop mà bạn muốn, sau đó bạn thử mở một ứng dụng bất kỳ, màn hình Windows Media Player 12 này luôn luôn nổi ở trên bất kỳ ứng dụng nào.

More about

Chỉ định liên kết đến trang giới thiệu cho người nhận xét là Admin

Người đăng: buonkhongem on Thứ Hai, 21 tháng 2, 2011

Nếu bạn chú ý ở phần tên người nhận xét trong các nhận xét trên blogspot thì sẽ thấy rằng liên kết tên người nhận xét cho trường hợp người nhận xét đăng nhập tài khoản Blogger thường dẫn đến trang hồ sơ Blogger của người nhận xét. Thông thường mỗi blogspot đều có một trang giới thiệu về tác giả (admin) của blog. Vậy tại sao chúng ta không can thiệp để liên kết tên Admin trên các nhận xét dẫn đến trang giới thiệu về tác giả của blog? Nếu làm được như vậy thì blogspot của bạn sẽ tạo được sự khác biệt về một phương diện nào đó.

Bạn có thể xem Demo kết quả này khi click vào tên người nhận xét là Huỳnh Nhật Hà trên blog của tôi trước khi thực hiện cho blogspot của mình.

Đăng nhập Blogger, vào Design >> Edit HTML. Hãy nhớ backup Template của bạn trước khi can thiệp vào code trong Template. Chọn Expand Widget Templates.

Trong Template hãy tìm đến đoạn code như sau:

<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>

Lệnh điều kiện ở trên ý nói rằng, nếu tên tác giả nhận xét có URL (liên kết) thì gán URL cho nó, nếu không thì chỉ có tên tác giả nhận xét mà thôi (dành cho trường hợp người nhận xét là nặc danh).

Nếu bạn muốn URL tên bạn (là Admin) dẫn đến trang giới thiệu (about-me) trên blog của bạn thì thay đoạn code ở trên bằng đoạn code dưới đây.

<b:if cond='data:comment.authorUrl'>
<b:if cond='data:comment.authorUrl == &quot;http://www.blogger.com/profile/XXXXXXXXXXXXXXXXXXXXX&quot;'>
<a href='URL_trang giới thiệu về Admin' rel='nofollow'><data:comment.author/></a>
<b:else/>
<a expr:href='data:comment.authorUrl' rel='nofollow' target='blank'><data:comment.author/></a>
</b:if><b:else/>
<data:comment.author/>
</b:if>

Trong đoạn code trên, bạn cần thay XXXXXXXXXXXXXXXXXXXXX bằng chuỗi số ID hồ sơ Blogger của bạn (chuỗi số này chắc là dễ tìm rồi) và thay URL_trang giới thiệu về Admin.

Lưu Template là OK.

Ngoài ra, bạn có thể đặc cách tạo thêm tính năng này cho một người nhận xét thường xuyên nhất trên blog của bạn, hoặc có thể là tri âm tri kỷ trên blog của bạn. Thì bạn dùng code như thế này.

<b:if cond='data:comment.authorUrl'>
<b:if cond='data:comment.authorUrl == &quot;http://www.blogger.com/profile/XXXXXXXXXXXXXXXXXXXXX&quot;'>
<a href='URL_trang giới thiệu về Admin' rel='nofollow'><data:comment.author/></a>
<b:else/>
<b:if cond='data:comment.author == &quot;Tên một người&quot;'>
<a href='URL_trang giới thiệu của người đó' rel='nofollow'><data:comment.author/></a>
<b:else/>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
</b:if></b:if><b:else/>
<data:comment.author/>
</b:if>

Xin quý bạn đọc thứ lỗi cho Huỳnh Nhật Hà vì dạo này hơi bận việc khác một chút nên thủ thuật không nhiều như lúc trước, song hy vọng những thủ thuật trong năm 2011 vẫn “độc” để khỏi phụ lòng mong mỏi của mọi người. :54) :44)
More about

GHÉP NHIỀU ẢNH VÀO 1 ẢNH DUY NHẤT

Người đăng: buonkhongem on Chủ Nhật, 20 tháng 2, 2011

Bạn có thể lồng ghép nhiều ảnh vào 1 ảnh duy nhất và cộng thêm những đường nét hoa văn để tạo ra một bức ảnh mang đậm phong cách của chính mình.
Đầu tiên, bạn truy cập VÀO ĐÂY và bấm vào Click here to start, trang Web sẽ cho bạn các hình mẫu có sẳn (khoảng 60 mẫu), bạn tìm cho mình một mẫu ưng ý nhất (đối với các hình mẫu có ổ khóa màu vàng nằm phía dưới thì bạn phải đăng ký tài khoản Free để tiếp tục).
Bấm vào hình mẫu đã chọn, sau đó bấm Add items để chọn hình từ máy tính hoặc từ Webcam, bạn cũng có thể tạo thêm hoa văn bằng cách bấm vào nút Shapes.


Tiếp đến, bạn có thể thay đổi màu của background bằng cách bấm vào nút Background color (bên tay phải) hoặc thay đổi background bạn bấm vào Add background, để thêm Text bấm nút Add Text.


Để thay đổi kích thước hoặc di chuyển các ảnh đã ghép vào, bạn bấm vào ảnh đó và di chuyển các dấu tròn màu đen xung quanh bức ảnh để chọn kích thước tối ưu nhất.
Khi hoàn thành xong, bạn bấm vào nút Save nằm phía trên bên tay phải, chọn độ phân giải và bấm Continue, sau đó bấm Click here to download your collage để tải ảnh về.





More about

Xuất dữ liệu từ Foxpro sang Excel và chuyển mã Unicode

Người đăng: buonkhongem on Thứ Bảy, 19 tháng 2, 2011

Bài viết sau đây chúng tôi xin chia sẻ với bạn đọc các bước xuất dữ liệu từ Foxpro sang Excel và chuyển mã Unicode mời bạn đọc tham khảo
1. Copy các record dữ liệu từ file *.dbf sang 1 worksheet Excel. File *.dbf là 1 bảng (table) dữ liệu, worksheet Excel cũng là 1 bảng dữ liệu. Do đó việc chuyển thông tin từ file *.dbf sang worksheet Excel là hoạt động copy dữ liệu từ table này sang table khác. Bạn có thể lập trình dùng các đối tượng ADO để thực hiện hoạt động này. Cách đơn giản nhất là dùng trực tiếp Excel như sau: chạy Excel, chọn menu File.Open để mở file *.dbf và hiển thị lên 1 worksheet Excel. Sau đó, chọn menu File.Save As để lưu lại theo định dạng *.xls.

2. Chuyển mã các chuỗi văn bản trong bảng dữ liệu từ bảng mã này sang bảng mã khác (cụ thể là từ VNI 1 byte sang Unicode). Bạn có thể dùng các ứng dụng chuyển mã tiếng Việt sẵn có trên thị trường để chuyển mã tiếng Việt trực tiếp trong worksheet Excel.

Lưu ý, do bảng mã tiếng Việt VNI-DOS (và một số bảng mã tiếng Việt cũ khác) có dùng một số mã ký tự điều khiển làm ký tự tiếng Việt nên một số ứng dụng bị xử lý sai. Do đó để giải quyết tổng quát và triệt để vấn đề chuyển mã tiếng Việt, chúng tôi có viết 1 đối tượng COM cung cấp các hàm chức năng để chuyển mã tiếng Việt từ bất kỳ bảng mã nào sang một bảng mã khác. Bạn có thể liên hệ với tòa soạn để copy đối tượng này (file bktrans.dll) về cài vào máy và sử dụng. Qui trình cài đặt đối tượng COM vào máy như sau:

- Copy file bktrans.dll vào thư mục thích hợp (thí dụ c:MyCOM).

- Tạo icon shortcut trên màn hình desktop của trình đăng ký components bằng cách ấn phải chuột trên màn hình desktop, chọn option New.Shortcut, duyệt và chọn file c:windowssystem32regsvr32.exe để tạo icon shortcut cho nó.

- Chạy tiện ích duyệt hệ thống file, tìm và hiển thị nội dung thư mục c:MyCOM, thay đổi kích thước/dời vị trí cửa sổ hiển thị thư mục sao cho thấy được icon shortcut của trình đăng ký component, chọn file bktrans.dll, drag nó vào icon shortcut của trình đăng ký để đăng ký nó vào Windows.

- Sau khi đã đăng ký thành công, bạn có thể dùng bất kỳ môi trường lập trình nào (VB, VC++,...) để lập trình ứng dụng và dùng đối tượng Bktrans vừa đăng ký y như dùng các đối tượng COM khác.

Sau đây chúng tôi xin trình bày qui trình điển hình để xây dựng 1 ứng dụng bằng VB 6.0 đọc bảng dữ liệu từ file *.dbf, chuyển mã tiếng Việt từ mã VNI-DOS sang mã Unicode cho bất kỳ field chuỗi nào rồi ghi kết quả lên 1 worksheet Excel:

1. Chạy VB 6.0, tạo Project mới thuộc loại "Standard EXE" (loại Project mặc định có 1 Form giao diện rỗng ban đầu).

2. Chọn menu Project.References để hiển thị cửa sổ References. Duyệt tìm và chọn mục BkTrans 1.0 Type Library để "add" thành phần COM phục vụ chuyển mã tiếng Việt vào Project. Tương tự, duyệt tìm và chọn mục Microsoft ActiveX Data Objects 2.x Library để "add" thành phần COM phục vụ truy xuất database vào Project.

3. Chọn menu Project.Components để hiển thị cửa sổ Components. Duyệt tìm và chọn mục Microsoft Common Dialog Control 6.0 để "add" điều khiển phục vụ duyệt hệ thống file vào Project.

4. Thiết kế Form ứng dụng theo hình sau, gồm có 5 label, 3 textbox, 2 combobox, 3 button và 1 CommonDialog:

Đặt tên cho 3 textbox là txtDBFFile, txtExcelFile, txtWorksheet, tên cho 3 button là btnDBFFile, btnExcelFile, btnStart, tên cho 2 combobox là cbSourceCode, cbDestCode, tên cho CommonDialog là FileDialog.

5. Ấn kép chuột vào button btnDBFFile để tạo thủ tục xử lý sự kiện Click chuột trên nó, tương tự tạo thủ tục xử lý Click chuột cho 2 button còn lại và cho 2 Combobox rồi viết code VB 6.0 sau đây:

Option Explicit
'khai báo các biến cần dùng
Private srcid As Integer
Private dstid As Integer
Private VietLibCOM As New BKTRANSLib.BKTRANSLib
'thủ tục Click button chọn file DBF
Private Sub btnDBFFile_Click()
FileDialog.ShowOpen
txtDBFFile.Text = FileDialog.FileName
End Sub
'thủ tục Click button chọn file Excel
Private Sub btnExcelFile_Click()
FileDialog.ShowOpen
txtExcelFile.Text = FileDialog.FileName
End Sub
'thủ tục Click button bắt đầu chuyển mã & chuyển định dạng
Private Sub btnStart_Click()
'khai báo các biến cần dùng
Dim Connection1 As ADODB.Connection
Dim RecordSet1 As ADODB.Recordset
Dim Connection2 As ADODB.Connection
Dim RecordSet2 As ADODB.Recordset
Dim Command2 As ADODB.Command
Dim path As String, TableName As String
Dim strSQL As String, strbuf As String
Dim sfldbuf As String, dfldbuf As String
Dim i As Integer, j As Integer
Dim fStart As Integer, kq As Long
Dim fld As Variant
'xác định đường dẫn và file DBF
i = 1
Do
j = InStr(i, txtDBFFile.Text, "", vbBinaryCompare)
If (j <> 0) Then
i = j + 1
End If
Loop While j <> 0
'xác định đường dẫn
path = Mid(txtDBFFile.Text, 1, i - 1)
'xác định tên file DBF
TableName = Mid(txtDBFFile.Text, i)
'Tạo connection tới database nguồn
Set Connection1 = New ADODB.Connection
Connection1.Open "Provider=MSDASQL;DRIVER=Microsoft FoxPro VFP Driver (*.dbf);SourceType=DBF;SourceDB=" & path & ";"
'Tạo recordset chứa các record của table nguồn
Set RecordSet1 = New ADODB.Recordset
RecordSet1.Open TableName, Connection1, adOpenStatic, adLockReadOnly, adCmdTable
'Tạo connection tới database đích
Set Connection2 = New ADODB.Connection
Connection2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtExcelFile.Text & ";Extended Properties=Excel 8.0;"
'Tạo command làm việc với database đích
Set Command2 = New ADODB.Command
Command2.ActiveConnection = Connection2
'xây dựng lệnh SQL tạo Table đích
strSQL = "CREATE TABLE " & txtWorksheet.Text & " ("
'duyệt tìm từng field của table nguồn
fStart = 1
For Each fld In RecordSet1.Fields
'tìm tên và kiểu của field
Select Case fld.Type
Case 2
strbuf = "Integer"
Case 3
strbuf = "Long"
Case 5
strbuf = "Currency"
Case 6
strbuf = "Double"
Case 11
strbuf = "Logical"
Case 202
strbuf = "Text"
Case 203
strbuf = "Text"
Case 7
strbuf = "Date"
Case 135
strbuf = "Date"
Case 129
strbuf = "Text"
Case 131
strbuf = "Integer"
Case 133
strbuf = "Date"
Case Else
MsgBox "Type với mã " & fld.Type & " chưa được xử lý!!!"
End Select
If fStart Then
strSQL = strSQL & fld.Name & " " & strbuf
fStart = 0
Else
strSQL = strSQL & ", " & fld.Name & " " & strbuf
End If
Next fld
strSQL = strSQL & ")"
'Xóa table trên database đích nếu có rồi
'Command2.CommandText = "DROP TABLE " & txtWorksheet.Text
'Command2.Execute
'Tạo mới table trên database đích
Command2.CommandText = strSQL
Command2.Execute
'Tạo recordset chứa các record của table đích
Set RecordSet2 = New ADODB.Recordset
RecordSet2.Open txtWorksheet.Text, Connection2, adOpenKeyset, adLockOptimistic, adCmdTable
'duyệt chuyển mã và copy từng record
While Not RecordSet1.EOF
'tạo mới record
RecordSet2.AddNew
For i = 0 To RecordSet1.Fields.Count - 1
'nếu field i là chuỗi thì chuyển mã
If (RecordSet1.Fields(i).Type = 129) Or (RecordSet1.Fields(i).Type = 202) Or (RecordSet1.Fields(i).Type = 203) Then
On Error GoTo AssignIt
sfldbuf = RecordSet1.Fields(i).Value
If Len(sfldbuf) <> 0 Then
kq = VietLibCOM.TransStr(srcid, dstid, sfldbuf, dfldbuf)
RecordSet2.Fields(i).Value = dfldbuf
Else: GoTo AssignIt
End If
Else
'nếu không thì chỉ copy dữ liệu
AssignIt:
RecordSet2.Fields(i).Value = RecordSet1.Fields(i).Value
End If
Next i
'lưu lại record lên table đích
RecordSet2.Update
'di chuyển đến record kế tiếp
RecordSet1.MoveNext
Wend
'đóng các đối tượng sử dụng lại
RecordSet1.Close
Connection1.Close
Connection2.Close
End Sub
'thủ tục Click chọn mã tiếng Việt đích
Private Sub cbDestCode_Click()
dstid = cbDestCode.ListIndex
End Sub
'thủ tục Click chọn mã tiếng Việt gốc
Private Sub cbSourceCode_Click()
srcid = cbSourceCode.ListIndex
End Sub
'thủ tục khởi tạo ban đầu cho ứng dụng
Private Sub Form_Load()
Dim i As Integer
Dim s As String
Dim ret As Integer
Dim cnt As Integer
'xóa trắng nội dung các đối tượng hiển thị
txtDBFFile.Text = ""
txtExcelFile.Text = ""
txtWorksheet.Text = ""
cbSourceCode.Clear
cbDestCode.Clear
'khởi động đối tượng chuyển mã
ret = VietLibCOM.Init()
'tìm số bảng mã được phép xử lý
cnt = VietLibCOM.GetCodeCount()
'hiển thị chúng vào 2 combox để user chọn lựa
For i = 0 To cnt - 1
VietLibCOM.GetCodeName i, s
cbSourceCode.AddItem s
cbDestCode.AddItem s
Next i
End Sub

6. Chọn menu Run.Start để chạy thử ứng dụng, chọn file DBF gốc, chọn file Excel chứa kết quả, chọn mã tiếng Việt gốc, chọn mã tiếng Việt đích, nhập tên worksheet chứa kết quả, chọn button "Bắt đầu copy và chuyển mã file DBF". Sau đó chạy Excel và mở xem thử nội dung file Excel kết quả.

Lưu ý chương trình trên có thể truy xuất bảng dữ liệu của bất kỳ database server nào (FoxPro, Access, Excel, MySQL, SQL, Oracle,...). Bạn chỉ cần hiệu chỉnh chuỗi ConnectionString miêu tả database cần truy xuất cho phù hợp với định dạng database cần truy xuất.

Bạn có thể liên hệ với tòa soạn để copy Project VB 6.0 của ứng dụng chuyển mã (có tên là VBTransDataTable) và file bktrans.dll chứa đối tượng COM phục vụ chuyển mã tiếng Việt.

Theo thanglong-aptech.com

More about

Lấy tên chương trình đang chạy trong máy tính bằng VB

Người đăng: buonkhongem

Khi 1 file phần mềm chạy (do yêu cầu người dùng hay do chương trình khác kích hoạt), nó được nạp vào bộ nhớ và trở thành process. Bạn có thể dùng hàm API của Windows có tên là WTSEnumerateProcesses() để thống kê tất cả các process đang chạy trên máy, mỗi process là của file khả thi nào, từ đó quyết định xử lý chúng theo yêu cầu của mình.

Sau đây chúng tôi xin giới thiệu qui trình điển hình để xây dựng ứng dụng VB 6.0 demo việc thống kê tất cả các process đang chạy và hiển thị thông tin về chúng trong một ListVew để người dùng xem:
1. Chạy VB 6.0, tạo Project ứng dụng dạng 'Standard EXE' đơn giản.
2. Chọn menu Project.Components để hiển thị cửa sổ Components, duyệt tìm vào chọn mục Microsoft Window Common Controls 6.0 rồi Ok để thêm các control trong thư viện này vào ToolBox của Project.
3. Thiết kế Form gồm 1 ListView có tên mặc định là ListView1 như hình 4.
4. Chọn menu View.Code để hiển thị cửa sổ soạn mã nguồn cho form rồi viết code cho nó như sau:

Option Explicit
'khai báo hằng và kiểu cần dùng
Private Const WTS_CURRENT_SERVER_HANDLE = 0&
Private Type WTS_PROCESS_INFO
SessionID As Long
ProcessID As Long
pProcessName As Long
pUserSid As Long
End Type
'khai báo các hàm API cần dùng
Private Declare Function WTSEnumerateProcesses Lib 'wtsapi32.dll' Alias 'WTSEnumerateProcessesA' (ByVal hServer As Long, ByVal Reserved As Long, ByVal Version As Long, ByRef ppProcessInfo As Long, ByRef pCount As Long) As Long
Private Declare Sub WTSFreeMemory Lib 'wtsapi32.dll' (ByVal pMemory As Long)
Private Declare Sub CopyMemory Lib 'kernel32' Alias 'RtlMoveMemory' (Destination As Any, Source As Any, ByVal Length As Long)
'hàm tìm chuỗi từ địa chỉ bộ nhớ xác định
Private Function GetStringFromLP(ByVal StrPtr As Long) As String
Dim b As Byte
Dim tempStr As String
Dim bufferStr As String
Dim Done As Boolean
Done = False
Do 'lấy từng byte và xử lý
CopyMemory b, ByVal StrPtr, 1
If b = 0 Then 'kết thúc chuỗi
Done = True
Else
tempStr = Chr$(b)
bufferStr = bufferStr & tempStr
StrPtr = StrPtr + 1 'tăng pointer tới byte kế
End If
Loop Until Done
GetStringFromLP = bufferStr
End Function
'thủ tục khởi động Form
Private Sub Form_Load()
ListView1.View = lvwReport
'tạo header gồm 4 cột thông tin trên ListView
ListView1.ColumnHeaders.Add 1, 'SessionID', 'Session ID'
ListView1.ColumnHeaders.Add 2, 'ProcessID', 'Process ID'
ListView1.ColumnHeaders.Add 3, 'ProcessName', 'Process Name'
ListView1.ColumnHeaders.Add 4, 'UserID', 'User ID'
'thống kê và hiển thị các process
GetWTSProcesses
End Sub
'thủ tục thống kê và hiển thị thông tin các process
Private Sub GetWTSProcesses()
'khai báo các biến cần dùng
Dim RetVal As Long
Dim Count As Long
Dim i As Integer
Dim lpBuffer As Long
Dim p As Long
Dim udtProcInfo As WTS_PROCESS_INFO
Dim itmAdd As ListItem
'xóa nội dung cũ của ListView
ListView1.ListItems.Clear
'thống kê các process
RetVal = WTSEnumerateProcesses(WTS_CURRENT_SERVER_HANDLE, 0&, 1, lpBuffer, Count)
If RetVal = 0 Then 'nếu thất bại
MsgBox 'Error occurred calling WTSEnumerateProcesses. ' & 'Check the Platform SDK error codes in the MSDN Documentation' & ' for more information.', vbCritical, 'Error ' & Err.LastDllError
'dừng thủ tục
Exit Sub
End If
'nếu thống kê được thì lặp hiển thị từng process
p = lpBuffer
For i = 1 To Count
'copy thông tin về process i vào biến udtProcInfo
CopyMemory udtProcInfo, ByVal p, LenB(udtProcInfo)
'thêm hàng thông tin về process i vào ListView
Set itmAdd = ListView1.ListItems.Add(i, , CStr(udtProcInfo.SessionID))
itmAdd.SubItems(1) = CStr(udtProcInfo.ProcessID)
itmAdd.SubItems(2) = GetStringFromLP(udtProcInfo.pProcessName)
itmAdd.SubItems(3) = CStr(udtProcInfo.pUserSid)
'hiệu chỉnh p về vị trí miêu tả process kế tiếp
p = p + LenB(udtProcInfo)
Next i
Set itmAdd = Nothing
'giải phóng bộ nhớ
WTSFreeMemory lpBuffer
End Sub

Lưu ý tên file khả thi của process được chứa trong trường udtProcInfo.pProcessName.
5. Chọn menu Run.Start để chạy thử Form vừa xây dựng và xem danh sách các process đang chạy trên máy.

Theo pcworld

Nguồn bài viết: thanglong-aptech.com

More about