如何调用系统信息

ChenHaiHua 2003-10-19 04:46:16
如何用VB.NET和C#实现象.NET的关于对话框中,点击[系统信息(S)]按钮,调出系统信息
请示例(VB.NET和C#)
...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
EdwarddotNet 2003-10-22
  • 打赏
  • 举报
回复
string path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.CommonProgramFiles);

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = path + @"\Microsoft Shared\MSInfo\MSINFO32.EXE";
proc.Start();
rock29 2003-10-20
  • 打赏
  • 举报
回复
当你单击word之类的软件的"系统信息"时,在任务管理器中看看它调用了哪个程序,记下来,运行它不就行了么?
如果你不怕麻烦,你把c:\winnt\system32的所有可执行程序运行一遍,可能有"系统信息"这个程序?
如果它作成了dll,那恐怕要用api了...
SqlDataAdapter 2003-10-20
  • 打赏
  • 举报
回复
system对象...
lz305 2003-10-20
  • 打赏
  • 举报
回复
Option Strict Off
Option Explicit On
Module Module1
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA"(ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, ByVal samDesired As Integer, ByRef phkResult As Integer) As Integer '打开一个注册表项
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA"(ByVal hKey As Integer, ByVal lpValueName As String, ByVal lpReserved As Integer, ByRef lpType As Integer, ByVal lpData As String, ByRef lpcbData As Integer) As Integer '读取一个注册表项的值
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Integer) As Integer'关闭一个注册表项


Const HKEY_LOCAL_MACHINE As Integer = &H80000002
Const gREGKEYSYSINFOLOC As String = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC As String = "MSINFO"
Const gREGKEYSYSINFO As String = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
Const gREGVALSYSINFO As String = "PATH"
Const KEY_ALL_ACCESS As Integer = &H2003F
Const ERROR_SUCCESS As Short = 0
Const REG_SZ As Short = 1
Const REG_DWORD As Short = 4

Public Sub StartSysInfo()
On Error GoTo SysInfoErr
Dim rc As Integer
Dim SysInfoPath As String
' 从一个注册表项中获得系统信息的路径
If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
' 一个有效的32位文件的版本
'UPGRADE_WARNING: Dir 有新行为。 单击以获得更多信息:'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="vbup1041"'
If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then

'获得MSINFO32.EXE的路径
SysInfoPath = SysInfoPath & "\MSINFO32.EXE "
Else
GoTo SysInfoErr '如果没有找到该文件转到执行子程序
End If

Else
GoTo SysInfoErr ' 如果没有找到注册表
End If
Call Shell(SysInfoPath, AppWinStyle.NormalFocus)

Exit Sub
SysInfoErr:
MsgBox("找不到系统信息浏览器", MsgBoxStyle.OKOnly)
End Sub

Public Function GetKeyValue(ByRef KeyRoot As Integer, ByRef KeyName As String, ByRef SubKeyRef As String, ByRef KeyVal As String) As Boolean
Dim i As Integer ' 循环记数
Dim rc As Integer ' 返回注册表函数的值
Dim hKey As Integer ' 装载打开项名字的变量
Dim hDepth As Integer '
Dim KeyValType As Integer ' 装载取回值的数据类型的变量
Dim tmpVal As String ' 装载指定值的一个缓冲区
Dim KeyValSize As Integer ' 返回缓冲区内的实际字节数
'------------------------------------------------------------
' 打开 注册表 子项 {HKEY_LOCAL_MACHINE...}
'------------------------------------------------------------
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打开注册表子项


If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 注册表打开错误...


tmpVal = New String(Chr(0), 1024) ' 给变量分配空间

'(装载指定值的一个缓冲区)
KeyValSize = 1024 ' 标志变量大小


'------------------------------------------------------------
' 恢复注册表子项的值...
'------------------------------------------------------------
rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)

' 读取和创建注册表子项的值


If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 句柄错误


If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' 判断返回字符串的大小
tmpVal = Left(tmpVal, KeyValSize - 1)
Else
tmpVal = Left(tmpVal, KeyValSize)
End If
'------------------------------------------------------------
' 返回值的类型转换...
'------------------------------------------------------------
Select Case KeyValType ' 装载取回值的数据类型的变量
Case REG_SZ ' 字符串数据类型
KeyVal = tmpVal ' 交换字符串的值
Case REG_DWORD ' 双精度字节类型
For i = Len(tmpVal) To 1 Step -1 ' 逐个转换
KeyVal = KeyVal & Hex(Asc(Mid(tmpVal, i, 1))) ' 按十六制数转递给子项的值
Next
KeyVal = VB6.Format("&h" & KeyVal) '转换格式

End Select


GetKeyValue = True ' 返回成功
rc = RegCloseKey(hKey) ' 关闭打开注册表的子项
Exit Function ' 结束


GetKeyError: '清除之后发生错误
KeyVal = "" ' 设置一个空的字符串
GetKeyValue = False ' 返回失败
rc = RegCloseKey(hKey) ' 关闭注册表子项
End Function
End Module

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Call StartSysInfo()
End Sub
在VS.NET2002+WIN2000SERVER测试通过!
acewang 2003-10-20
  • 打赏
  • 举报
回复
http://www.aoaoao.com/aoaoaocom/ReadNews.asp?NewsID=371
michaelowenii 2003-10-20
  • 打赏
  • 举报
回复
you can using API
lz305 2003-10-19
  • 打赏
  • 举报
回复
看错了!
显示系统信息有点麻烦,跟系统注册表有关.
lz305 2003-10-19
  • 打赏
  • 举报
回复
ShellAbout(Me.Handle.ToInt64, "系统信息", "2003.10.19 第一版", 0)
lz305 2003-10-19
  • 打赏
  • 举报
回复
Public Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA"(ByVal hWnd As Integer, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Integer) As Integer '调用系统关于窗体
ehuar 2003-10-19
  • 打赏
  • 举报
回复
api
一、项目简介本课程演示的是一套基于SSM实现的客户信息管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码、项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、BootStrap数据库:MySQL 三、系统功能该客户信息管理系统以实际运用为开发背景,采用Eclipse开发工具,Java开发语言,使用JSP设计页面,Tomcat服务器作为Web服务器,数据的存储使用MySQL数据库,从而保证系统的稳定性。系统设计按标准化、规范化、分层设计、构件化进行相关功能的实现。本系统主要分为三种角色,分别是:管理员、客户经理、营销主管,其功能如下: 1.管理员 主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、客户来源管理、支付方式管理、产品类型管理、职位信息管理、服务类型管理、客户等级管理、客户开发进度管理。 2.客户经理 主要功能包括:产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。 3.营销主管 主要功能包括:员工信息管理、产品信息管理、客户信息管理、服务信息管理、交易信息管理、基础信息查询。该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 四、项目截图1)系统登陆页面2)员工信息管理3)产品信息管理4)客户信息管理5)新增客户信息6)客户信息分析7)客户等级管理 更多Java毕设项目请关注【毕设系列课程】https://edu.csdn.net/lecturer/2104   
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
 本课程的主题是: 透析Linux系统编程    不同于市面上的课程,只会把核心主题放到函数的讲解,本课程的核心主题是 Linux系统编程的经验总结 ;    当你在系统编程中,调用一个系统调用来解决问题时,是否考虑过 该系统调用是否会对系统性能带来影响?是否还有最优的方式?    当你在系统编程过程中,遇到问题,是否只是检查代码逻辑,而不会去深入底层去查找问题 ?    本课程将一一解决系统编程带给你的难点,疑点?    比如控制文件IO章节,给出系统文件操作的默认行为,应用中如何修改这些行为,给出文件IO操作的最优方式;   比如系统调用,给出系统调用原理;系统调用的正确使用方式等   比如进程实现,结合底层,对比线程,深入理解两者;给出进程使用经验总结;   比如线程同步,不仅引出互斥锁 条件变量 自旋锁 读写锁使用方式,同时给出各个机制的应用场景 ;   比如 进程间通信,引出各个进程间通信的机制原理,给出各个进程间通信的应用场景;   比如 信号,给出信号在进程中信号处理处理函数的正确使用方式,给出在多线程中信号处理的正确方式;   比如 共享库,给出共享库的实现机制,给出共享库的正确使用方式;   同时 会讲解 系统安全问题 ; 可执行程序的静态布局和动态布局 ;灵活使用内存映射和虚拟内存;系统事件跟踪;   给出程序性能的调优思路;    丰富的项目实例讲解 ,提供宝贵的商业项目开发经验 ; 

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧