蒙在股里 发表于 2015-1-16 22:50:54

ASP.NET网页编程之显现历程、封闭历程

如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。起首经由过程CreateToolhelp32Snapshot函数创立一个历程的快照,然后经由过程挪用Process32First利用快照前往的句柄对历程举行遍历,相干的信息寄存在PROCESSENTRY32布局范例的实例中,然后显现出来。



Winxp+vb6+sp6

代码以下:

PrivateDeclareFunctionCreateToolhelp32SnapshotLib"kernel32"(ByValdwFlagsAsLong,ByValth32ProcessIDAsLong)AsLong

PrivateDeclareFunctionProcess32FirstLib"kernel32"(ByValhSnapshotAsLong,lppeAsPROCESSENTRY32)AsLong

PrivateDeclareFunctionProcess32NextLib"kernel32"(ByValhSnapshotAsLong,lppeAsPROCESSENTRY32)AsLong

PrivateDeclareFunctionCloseHandleLib"kernel32"(ByValhObjectAsLong)AsLong



PrivateDeclareFunctionOpenProcessLib"kernel32"(ByValdwDesiredAccessAsLong,_

ByValblnheritHandleAsLong,ByValdwAppProcessIdAsLong)AsLong



PrivateDeclareFunctionTerminateProcessLib"kernel32"(ByValApphProcessAsLong,_

ByValuExitCodeAsLong)AsLong



PrivateTypePROCESSENTRY32

dwSizeAsLong

cntUsageAsLong

th32ProcessIDAsLong

th32DefaultHeapIDAsLong

th32ModuleIDAsLong

cntThreadsAsLong

th32ParentProcessIDAsLong

pcPriClassBaseAsLong

dwFlagsAsLong

szExeFileAsString*1024

EndType



ConstTH32CS_SNAPHEAPLIST=&H1

ConstTH32CS_SNAPPROCESS=&H2

ConstTH32CS_SNAPTHREAD=&H4

ConstTH32CS_SNAPMODULE=&H8

ConstTH32CS_SNAPALL=(TH32CS_SNAPHEAPLISTOrTH32CS_SNAPPROCESSOrTH32CS_SNAPTHREADOrTH32CS_SNAPMODULE)

ConstTH32CS_INHERIT=&H80000000

增加listview控件,3个按钮

删除listview当选定的历程

PrivateSubCommand2_Click()

IfMsgBox("你想删除"&ListView1.SelectedItem.SubItems(2)&"历程?",vbYesNo+vbQuestion)vbYesThen

ExitSub

EndIf



DimmProcIDAsLong

mProcID=OpenProcess(1&,-1&,ListView1.SelectedItem)

TerminateProcessmProcID,0&

DoEvents

ListView1.ListItems.Remove(ListView1.SelectedItem.Index)

ListView1.Refresh

EndSub

失掉历程添补listview

PrivateSubCommand1_Click()

DimmyAsPROCESSENTRY32

DimlAsLong

Diml1AsLong

DimmlistitemAsListItem



List1.Clear

l=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)

IflThen

my.dwSize=1060

If(Process32First(l,my))Then遍历第一个历程

Do

Setmlistitem=ListView1.ListItems.Add(,,my.th32ProcessID)

mlistitem.SubItems(1)=my.th32ParentProcessID

mlistitem.SubItems(2)=my.szExeFile

LoopUntil(Process32Next(l,my)<1)遍历一切历程晓得前往值为False

EndIf

l1=CloseHandle(l)

EndIf

EndSub



PrivateSubForm_Load()

ListView1.ListItems.Clear

ListView1.ColumnHeaders.Clear

ListView1.FullRowSelect=True

ListView1.ColumnHeaders.Add,,"ProcessID",1500

ListView1.ColumnHeaders.Add,,"ProcessParentID",(1500)

ListView1.ColumnHeaders.Add,,"Name",(Me.Width-3200)

ListView1.View=lvwReport

EndSub



轮回检测历程中是不是有指定历程,假如有,封闭,假如没有,启动一个程序

PrivateSubCommand3_Click()

DimmyAsPROCESSENTRY32

DimlAsLong

Diml1AsLong

DimflagAsBoolean

DimmNameAsString

DimiAsInteger



l=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)

IflThen

my.dwSize=1060

If(Process32First(l,my))Then遍历第一个历程

Do

i=InStr(1,my.szExeFile,Chr(0))

mName=LCase(Left(my.szExeFile,i-1))

IfmName="winword.exe"Then

PID=my.th32ProcessID

pname=mName

MsgBox"找到word"

IfMsgBox("你想删除"&mName&"历程?",vbYesNo+vbQuestion)vbYesThen

ExitSub

EndIf



DimmProcIDAsLong

mProcID=OpenProcess(1&,-1&,PID)

TerminateProcessmProcID,0&



flag=True

ExitSub

Else

flag=False

EndIf

LoopUntil(Process32Next(l,my)<1)遍历一切历程晓得前往值为False

EndIf

l1=CloseHandle(l)

EndIf



Ifflag=FalseThen

MsgBox"没有找到word"

Shell"c:ProgramFilesMicrosoftOfficeOfficeWINWORD.EXE",vbNormalFocus

EndIf

EndSub


http://www.ckuyun.com/

C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。

因胸联盟 发表于 2015-1-20 05:30:27

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。

只想知道 发表于 2015-1-28 18:51:28

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

飘飘悠悠 发表于 2015-2-5 22:34:16

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

简单生活 发表于 2015-2-13 23:43:33

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

深爱那片海 发表于 2015-3-4 03:14:55

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

小妖女 发表于 2015-3-11 15:44:02

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

若相依 发表于 2015-3-19 01:29:40

有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。

老尸 发表于 2015-3-27 01:47:41

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
页: [1]
查看完整版本: ASP.NET网页编程之显现历程、封闭历程