分享
 
 
 

微软.Net程序设计FAQ

王朝c#·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

1、如何在.net的应用程序运行其它的EXE文件?

解答:主要应用System.Diagnostics名字空间中的Process类

主要代码:

[C#]

Process proc = new Process();

proc.StartInfo.FileName = @"D:\Program Files\Foxmail\Foxmail.exe"; //可以用绝对路径

proc.StartInfo.Arguments = "";

proc.Start();

[VB.NET]

Dim proc As New Process()

proc.StartInfo.FileName = "D:\Program Files\Foxmail\Foxmail.exe"

proc.StartInfo.Arguments = ""

proc.Start();

示例程序点击下载(C#)

2、如何检测当前操作系统?

解答:应用System名字空间中的Environment类

主要代码:

[C#]

string versionText = Environment.OSVersion.Version.ToString();

[VB.NET]

Dim versionText As String = Environment.OSVersion.Version.ToString();

示例程序点击下载(C#)

3、如何获取正在运行程序的路径?

解答:调用Application类中的ExecutablePath静态成员获取路径

主要代码:

[C#]

textBox1.Text = Application.ExecutablePath;

[VB.NET]

TextBox1.Text = Application.ExecutablePath

示例程序点击下载(C#)

4、如何查看电脑中已经安装的所有程序集?

解答:.Net Framework把所有的程序集安装在 系统安装盘\winnt\Assembly(隐含)目录下,查看属性可以看到该程序集的所有详细资料。

5、如何用System.Windows.Forms.Application.CompanyName设置公司名称?

解答:在Assembly中设置,VS.Net的开发环境中是在 AssemblyInfo.cs(vb)的文件中设置的,打看文件可以

公司信息和版本等信息

主要代码:

[assembly: AssemblyCompany("天极网蚕蛹-版权所有")]

6、如果用户的电脑没有安装.NET运行框架,是否可以运行.NET的程序?

解答:不可以,必需安装.NET Framework

可在下面地址下载

http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp

7、如何获取本地的IP地址?

解答:在名字空间System.Net中定义了一个类Dns,其中有一个方法GetHostByName(),用来返回IPHostEntry 对象,此对象有一个属性是AddressList,此属性是一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息,包含了拨号上网得到的临时分配的IP地址和局域网固定的IP地址

主要代码:

[C#]

string s="";

System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;

for (int i = 0; i < addressList.Length; i ++)

{

s += addressList[i].ToString();

}

[VB.NET]

Dim s As String = ""

Dim addressList As System.Net.IPAddress() = Dns.GetHostByName(Dns.GetHostName()).AddressList

Dim i As Integer

For i = 0 To addressList.Length - 1

s += addressList(i).ToString() + ControlChars.Lf

Next i

示例程序点击下载(c#)

8、如何确保在C#中只有一个程序(实例)运行?

解答:主要应用System.Diagnostics名字空间中的Process类来实现,思路,我们在运行程序前,查找进程中是否有同名的进程,同时运行位置也相同程,如是没有运行该程序,如果有,就将同名的同位置的程序窗口置前.

主要代码:

[C#]

public static Process RunningInstance()

{

Process current = Process.GetCurrentProcess();

Process[] processes = Process.GetProcessesByName (current.ProcessName);

//查找相同名称的进程

foreach (Process process in processes)

{

//忽略当前进程

if (process.Id != current.Id)

{

//确认相同进程的程序运行位置是否一样.

if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)

{

//Return the other process instance.

return process;

}

}

}

//No other instance was found, return null.

return null;

}

[VB.NET]

Public Shared Function RunningInstance() As Process

Dim current As Process = Process.GetCurrentProcess()

Dim processes As Process() = Process.GetProcessesByName(current.ProcessName)

'查找相同名的进程

Dim process As Process

For Each process In processes

'忽略当前进程

If process.Id <> current.Id Then

'确认相同名的进程运行位置是否相同

If [Assembly].GetExecutingAssembly().Location.Replace("/", "\") = current.MainModule.FileName Then

'返回其它的运行实例

Return process

End If

End If

Next process

'没有其它实例,返加空值

Return Nothing

End Function 'RunningInstance

示例程序点击下载(C#)

9、如何把所有的系统中正在运行的所有进程显示出来呢?

解答:用System.Diagnostics名字空间中的Process.GetProcess()静态成员

主要代码:

[C#]

Using System.Diagnostics;

...

foreach ( Process p in Process.GetProcesses() )

Console.WriteLine( p ); // string s = p.ToString();

[VB.NET]

Imports System.Diagnostics

...

Dim p As Process

For Each p In Process.GetProcesses()

Console.WriteLine(p) ' string s = p.ToString()

Next p

示例程序点击下载(C#)

10、如何列出所有正在运行的应用程序呢?

解答:可有用EnumWindows 函数将枚举计算机上的所有现有窗口,但我们用System.Diagnostics名字空间的静态函数Process.GetProcesses()可以避免EnumWindows的互操作性问题。

主要代码:

[C#]

Using System.Diagnostics;

...

foreach ( Process p in Process.GetProcesses(System.Environment.MachineName) )

{

if( p.MainWindowHandle != IntPtr.Zero)

{

//显示用户程序名

Console.WriteLine( p ); // string s = p.ToString();

}

}

[VB.NET]

Imports System.Diagnostics

...

Dim p As Process

For Each p In Process.GetProcesses(System.Environment.MachineName)

If p.MainWindowHandle <> IntPtr.Zero Then

'显示应用程序名

Console.WriteLine(p) ' string s = p.ToString();

End If

Next p

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有