正文
vb.net桌面路径 vbnet dir
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
VB.net关于路径的问题
一种采用绝对路径比如"provider=Microsoft.jet.oledb.4.0;Data source= c:/xxx/AAA.mdb"
第二种采用当前exe所在路径
"provider=Microsoft.jet.oledb.4.0;Data source= “+Application.StartupPath + "\\"+”AAA.mdb"
急急急!!十万火急!!求VB.NET高手!!!
描述不够清楚,也没有图。你的界面是什么界面,是窗体还是其他的什么。
如果是窗体,他会让你导入图片,作为资源存在工程里面。
如果不是,你先要把背景图片放到资源里再调用。
又或者你的界面图片被别的控件挡住了,你需要将别的控件的backcolor属性改为transparent。
总之你想问什么问题,你得描述清楚。
VB.net 获取桌面的快捷键
你需要学习System.IO命名空间内的
File、FileInfo、Path、Directory、DirectoryInfo、DriveInfo
其中File、Directory可以对文件、目录进行操作
而尾部带Info的类,用于获取文件、目录和磁盘的信息
这些信息包括图标、文件名称、大小、创建日期、是否只读等等
使用Listview控件:
首先获取桌面目录的信息,根据系统的不同Win和XP位置不一样,一般在"C:\Users\用户名\Desktop",并使用
DirectoryInfo的EnumerateDirectories和EnumerateFiles方法来枚举目录内的子目录和文件
当用户选择Listview控件中的文件项时,使用Process.Strat(文件路径)的方法来启动程序
MSDN参考链接
纯手打,希望采纳
VB 如何获取桌面路径
哈哈 api吧 vb.net桌面路径,何不用vb.net呢 抱着vb6写程序不高效的
下面是 网上copy的(没测过vb.net桌面路径,不通过请不要骂人vb.net桌面路径!)用apiPrivate Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As LongPrivate Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As LongPrivate Type SHITEMID cb As Long abID As ByteEnd TypePrivate Type ITEMIDLIST mkid As SHITEMIDEnd TypePrivate Sub Form_Click() Dim R As Long, Path As String Dim IDL As ITEMIDLIST R = SHGetSpecialFolderLocation(100, 0, IDL) If R = 0 Then Path = Space(255) R = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path) R = InStr(Path, vbNullChar) If R 0 Then Path = Left(Path, R - 1) End If Else Path = "" End If Print PathEnd Sub
vb.net做安装包,安装后自动运行程序
1 新建安装部署项目
打开VS2005,点击新建项目,选择:其他项目类型-安装与部署-安装向导(安装项目),然后点击确定。
2 安装向导
关闭后打开安装向导,点击下一步,或者直接点击完成。
3 开始制作
安装向导完成后即可进入项目文件夹:
双击"应用程序文件夹"在右边的空白处右击,选择添加-文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。这样安装程序安装完成后会在 "开始-所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用户的'程序'菜单"和"用户桌面"相应目录下新建快捷方式,然后定位到你的文件。
然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:\Program Files\你的用户名\安装解决方案名称";
然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备", 在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。选上以后,在生成的安装文件包中包含.NetFramework组件 。好了,这样就完成99%了,然后点击"生成-生成解决方案",生成成功!
我以前参考过的,希望对你有帮助。
安装完成后自动启动程序
1.新建一个空的项目InstallCompenent,步骤为:解决方案-右键添加-新建项目-选择"空项目"-输入名称"InstallCompenent"-确定,完成项目的添加.
2.在InstallCompenent项目中右键-添加-新建项-选择安装程序类-输入名称"Installer",完成installer类的添加.
修改代码为:
/// summary
/// 功能是做安装项目主项目输出
/// 实现安装过程中的一些操作
/// 如:安装完成后启动项目
/// /summary
[RunInstaller(true)]
public partial class Installer : Installer
{
/// summary
/// 应用程序入口
/// /summary
public static void Main()
{
}
/// summary
/// 构造函数
/// /summary
public ECSuitsInstaller()
{
InitializeComponent();
}
/// summary
/// 重写安装完成后函数
/// 实现安装完成后自动启动已安装的程序
/// /summary
/// param name="savedState"/param
protected override void OnAfterInstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf("\\")) + "\\";
System.Diagnostics.Process.Start(path + "\\ECSuits.exe");
}
/// summary
/// 重写安装过程方法
/// /summary
/// param name="stateSaver"/param
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
/// summary
/// 重写安装之前方法
/// /summary
/// param name="savedState"/param
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
}
/// summary
/// 重写卸载方法
/// /summary
/// param name="savedState"/param
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
/// summary
/// 重写回滚方法
/// /summary
/// param name="savedState"/param
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
}
3.在安装项目中右键-添加项目输出-选择"项目"-InstallCompenent.
完成主输出项目的添加.
4.打开自定义操作编辑器,在安装-右键-添加自定义操作-选择"应用程序文件夹"-选择"主输出来自InstallCompenent",完成添加.
VB.NET中监视文件夹的变化
有时候 处于业务的需要 vb.net桌面路径我们要不断的监视文件的变化 比如文件的创建 删除 重命名等 而且某些人要确保重要文件的只读 并且要及时的报告文件版本的变更情况 或者 你想监视你的文件夹被别人更改 肆意删除而又不知道是谁干的 在什么时候干的vb.net桌面路径?于是你就考虑要写一个监视程序 偷偷的 记录文件夹 *** 作的情况
有些人采取常规的方式 即写一个桌面应用程序 其界面可能是隐藏的 采用每隔一个事件片段读取文件信息 然后写到一个log文件中 然后设置系统启动的事件自动加载程序 (好像很多人是这样窃取QQ密码的 ) 其缺点 不是连续的获取信息 因为他们采用了Timer的tick事件 在NT系统中 可能要一定的权限才可以运行 比如要管理员身份等 还有系统中会有进程显示 显然很容易shut down
我们建议的方案 采用 NET的Windows Service 首先可以克服以上缺点 而且较VB 的编程而言 NET中写windows service一如反掌
思路 在 NET创建的服务中调用System IO FileSystemWatcher对象 每次被监视的文件或者文件夹变化的时候 调用IO系统的FileStream和StreamWriter把变更信息写到log文件中
关于 NET中的Windows服务
Windows服务 是一些长久运行的程序 而并不需要依靠登录用户或客户程序来保持它的运行 它们没有自己的用户界面 可以在它们自己独有的安全级别和会话上下文中运行 我们比较熟悉的Windows服务范例包含了从打印池到SQL服务器以及它的分布式事务协作(DTC) 服务只可以运行在NT 以及后继产品比如XP下运行 它们通过Microsoft Management Console (MMC)提供了一个专门的管理界面(开始-运行 Services msc)
在 NET中创建项目的时候 有一个Windows服务的模板 选择新建 这个操作自动为我建立了一个新的类 它是继承了 NET内建了System ServiceProcess ServiceBase类 同时它提供给我一个可视化的设计器 一个图形化的快速开发工具 它特别的为那些本身没有用户界面的工程 我可以点击这个设计器 设定我的服务的名字(我命名为 File Watching )
当启动某项服务时 系统将定位相应的可执行文件 并运行该服务的 OnStart 方法(它包含在可执行文件内) 但是 运行服务与运行可执行文件并不相同 可执行文件仅加载服务 服务则通过 服务控制管理器 访问(例如启动和停止)
当首次在服务上调用 开始 时 可执行文件将调用 ServiceBase 派生类的构造函数 在构造函数执行之后将立即调用 OnStart 命令处理方法 在服务首次加载之后 构造函数不会再次执行 因此有必要将构造函数执行的处理和 OnStart 执行的处理分开 可以由 OnStop 释放的任何资源都应在 OnStart 中创建 如果服务在 OnStop 释放资源后再次启动 那么 在构造函数中创建资源会妨碍这些资源的正确创建
服务控制管理器 (SCM) 提供与服务交互的方式 可以使用 SCM 将 开始 (Start) 停止 (Stop) 暂停 (Pause) 继续 (Continue) 或自定义命令传递到服务中 SCM 使用 CanStop 和 CanPauseAndContinue 的值 决定服务是否接受 停止 暂停 或 继续 命令 仅当服务类中相应的属性 CanStop 或 CanPauseAndContinue 为 true 时 才会在 SCM 的上下文菜单中启用 停止 暂停 或 继续 如果已启用 则相应的命令将传递到服务 并且调用 OnStop OnPause 或 OnContinue 如果 CanStop CanShutdown 或 CanPauseAndContinue 为 false 则即使已实现相应的命令处理方法(如 OnStop) 也不会予以处理
上面是创建任何一个服务 我们都会涉及到的 只是 具体在监视文件夹变化的时候 我们用到了FileSystemWatcher
关于FileSystemWatcher
侦听文件系统更改通知 并在目录或目录中的文件发生更改时引发事件
使用 FileSystemWatcher 监视指定目录中的更改 可监视指定目录中的文件或子目录的更改 该组件可以监视本地计算机 网络驱动器或远程计算机上的文件 (当然只读的媒体介质比如cd和dvd 它们文件的属性不会改变 所以也就不能触发事件)
若要监视所有文件中的更改 请将 Filter 属性设置为空字符串 ( ) 若要监视特定的文件 请将 Filter 属性设置为该文件名 例如 若要监视文件 MyDoc txt 中的更改 请将 Filter 属性设置为 MyDoc txt 也可以监视特定类型文件中的更改 例如 若要监视文本文件中的更改 请将 Filter 属性设置为 * txt
可监视目录或文件中的若干种更改 例如 可监视文件或目录的 Attributes LastWrite 日期和时间或 Size 方面的更改 通过将 FileSystemWatcher NotifyFilter 属性设置为 NotifyFilters 值之一来达到此目的
可监视文件或目录的重命名 删除或创建 例如 若要监视文本文件的重命名 请将 Filter 属性设置为 * txt 并调用 WaitForChanged 方法之一 调用时给出 WatcherChangeTypes 值的 Renamed
Demo
新建一个project 选择windows 服务类型 命名为WinServiceFileWatching 我们看到project的引用中自动添加了System ServiceProcess名空间(这就是创建一个服务的函数集) 从工具中的组件中选择FileSystemWatcher 拖放到service 的设计模式上 然后设置如下属性
Filter 获取或设置筛选字符串 用于确定在目录中监视哪些文件 我们设置为* * 即所有文件 IncludeSubdirectories 获取或设置一个值 该值指示是否监视指定路径中的子目录 设置为true Path 获取或设置要监视的目录的路径 设置为我们要监视的对象 比如C:\DonnetData
然后添加以下代码
Protected Overrides Sub OnStart(ByVal args() As String)
在此处添加启动服务的代码 此方法应设置具体的操作
以便服务可以执行它的工作
FileSystemWatcher EnableRaisingEvents = True
我们也可以根据输入的参数args动态设定要监视的对象
FileSystemWatcher path= args( )
End Sub
创建文件(夹)时候触发 记录创建信息到e:\log txt中
Private Sub FileSystemWatcher _Created(ByVal sender As Object ByVal e As System IO FileSystemEventArgs) Handles FileSystemWatcher Created
Dim fs As New FileStream( e:\log txt FileMode Append)
Dim sw As New StreamWriter(fs)
sw WriteLine(Now() Microsoft VisualBasic vbTab 创建 e FullPath)
sw Close()
fs Close()
End Sub
Rename文件(夹)时候触发 记录创建信息到e:\log txt中
Private Sub FileSystemWatcher _Renamed(ByVal sender As Object ByVal e As System IO RenamedEventArgs) Handles FileSystemWatcher Renamed
Dim fs As New FileStream( e:\log txt FileMode Append)
Dim sw As New StreamWriter(fs)
sw WriteLine(Now() Microsoft VisualBasic vbTab 重命名 e OldFullPath e FullPath)sw Close()
fs Close()
End Sub
删除文件(夹)时候触发 记录创建信息到e:\log txt中
Private Sub FileSystemWatcher _Deleted(ByVal sender As Object ByVal e As System IO FileSystemEventArgs) Handles FileSystemWatcher Deleted
Dim fs As New FileStream( e:\log txt FileMode Append)
Dim sw As New StreamWriter(fs)
sw WriteLine(Now() Microsoft VisualBasic vbTab 删除 e FullPath)
sw Close()fs Close()
End Sub
到目前为止 这个服务已经写好了 下面作一个安装程序
在service的设计模式上点击右键 选择添加安装程序 系统会自动添加一个类ProjectInstaller 设计模式上有一个ServiceProcessInstaller 和ServiceInstaller 设置ServiceInstaller 的Display Name为File Watching Service starttype为Automatic 表示自动启动 设置ServiceProcessInstaller 的account为LocalSystem
由于服务是不能运行的 我们选择生成解决方案 ok!
最后安装我们的服务
NET Framework自带了一个工具 InstallUtil 使用很简单InstallUtil c:\winservicefilewatching\bin\winservicefilewatching exe 刚才编译好的程序的路径 这样就安装好了 Uninstall也很容易 首先SCM中关闭服务 InstallUtil/u c:\ \winservicefilewatching exe the same path
这样在系统的services中就会多出一个服务 显示为File Watching Service 选择启动就可以开始监视
总结
lishixinzhi/Article/program/net/201311/15520
vb.net桌面路径的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet dir、vb.net桌面路径的信息别忘了在本站进行查找喔。