vc获取当前程序文件的路径方法
1方法1
char pBuf[MAX_PATH]; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"\\");
strcat(pBuf,AfxGetApp()->m_pszExeName);
strcat(pBuf,"exe"); //获取程序的全文件名
2方法2
//函数返回应用程序所在的路径
CString CClientApp::ReturnPath()
{
CString sPath;
GetModuleFileName(NULL,sPathGetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPathReleaseBuffer ();
int nPos;
nPos=sPathReverseFind('\\');
sPath=sPathLeft(nPos);
return sPath;
}
3对比及建议
方法1获取的是程序的工作路径,如某个程序安装在C,D盘或者其它任何,当你从[开始]-[程序]后的菜单中打开该文件,此时获取的是用户工作路径,如:C:\Documents and Settings\[计算机当前用户名]\\
如果你想通过这个路径来加载你放在程序目录下的文件,必定出错。通常这种情况在你编译调试程序时是不会出错的,你跟踪得到的绝对路径,但打包安装后一定出问题。
方法2获取的是程序的绝对路径,用这个路径加载同目录下的文件是不会有问题的。
如果你要确保成功加载文件,建议使用方法2!!!!!!
1、首先打开Visual Studio 2015软件,新建一个窗体应用程序的项目,
2、建好了窗体程序以后,我们就可以打开工具箱,从工具箱选择需要的窗体控件,然后将控件拖拽到窗体中即可,
3、拖拽完窗体控件以后,我们剩下需要做的就是实现控件的相关事件,比如点击事件,
4、最后我们还可以更改窗体控件的相关属性,比如控件的名称,大小,路径,位置等等,
网站中可以在类文件中用绝对方式访问Server对象、Session、Response、Request等对象:
SystemWeb>
windows索引服务是windows *** 作系统提供的桌面搜索引擎,通过预先创建索引来提高对硬盘上文件内容的搜索速度。以windows服务程序的方式运行。
一、工作方式
1、对指定路径下的文件创建索引,并生成索引文件,索引文件的路径可以指定。
2、使用时,根据索引文件进行查询,不需要再次打开被索引的文件
二、使用方式
1、可以在windows搜索文件内容的时候指定使用索引服务,可以提高搜索速度。
2、windows索引服务对外提供DCOM等方式,可以通过COM接口访问。
3、可以与SQL SERVER结合,通过链接服务器(link server)的方式,配合SQL SERVER的全文检索语句进行搜索。
三、特点
1、只能提供静态摘要(文档开头的指定长度字节),不能生成动态摘要(类似Google的包含关键字的一段文字)。
2、使用远程的文件资源时,需要使用域名和密码对远程的windows共享资源进行访问,以便建立索引。
3、被索引的文件系统发生变化,索引可以自动更新。
4、文件系统庞大时,索引文件变大,搜索性能下降。
5、创建索引时,关键字词库有限,并且不能由用户增加新的关键字,会导致一些词汇不能被搜索,例如:C++
6、因和windows系统结合,可以支持html、txt、office文件等格式,如果需要支持其他文件,可以下载或者编写Filter,windows提供了编写Filter的标准接口。现有可以下载的Filter除了pdf格式Filter免费外,其它Filter的Server版都是收费的,Workstation版免费。
四、其他桌面搜索引擎
1、Google桌面搜索引擎
2、百度硬盘搜索等
五、总结
windows索引服务适合桌面搜索使用,在文件数量不是很大时可以提高全文检索速度。一些开源的java搜索引擎通常面向web搜索,较著名的有lucene等,有待研究。
=====================================================================
很多朋友对Windows *** 作系统中自带的搜索功能并不感冒,原因无他,因为搜索的速度实在是太慢了。正因如此,Google桌面搜索、百度硬盘搜索等第三方软件才能大行其道。其实,如果你使用的是Windows 2000或更高版本的 *** 作系统,应该激活Windows索引服务,这样在搜索文件时就能从索引数据库中快速查找所需要的文件了。
什么是索引服务
索引服务是一项系统服务(Indexing Service),使用文档筛选器读取整个文档,并提取文档和属性传递给索引程序,这个过程称为“索引”。索引服务可以从一组文档中提取并组织信息,以便通过Windows搜索功能、索引服务查询表或Web浏览器快速容易地访问该信息,该信息可以包含文档中的文本(内容)、文档的特征和参数(属性)。
一旦创建了索引,我们就可以对包含关键字、词、属性的文档进行搜索或查询索引,例如既可以查询所有包含词“工作”的文档,也可以查询某个作者编写的所有Microsoft Office文档,索引服务返回符合搜索条件的所有文档列表。
打开控制面板,再从管理工具中找到“服务”,如图1所示,现在就可以看到索引服务的真面目了,当前索引服务处于禁用状态。
编辑提示:什么是文档筛选器?文档筛选器是解释特定类型文档结构的软件组件,例如Microsoft Word或HTML文档,索引服务使用筛选器提取所有类别的文本内容和属性值,并将其发送给索引引擎。
索引服务支持的文档类型
索引服务使用了特殊的过滤器来分析各种文件,并创建在搜索文件时可用的参考值。可支持的文档类型如下:
HTML
Internet邮件、新闻组,需要安装Internet信息服务。
Microsoft Office文档
文本文件
可以使用文档筛选的任何其他文档
除了这些内置的文档筛选器外,你还可以安装第三方过滤器来索引其他类型的文件,这样可以让索引服务支持更多的文件类型,例如安装Adobe Reader后可以索引Acrobat PDF文件。
索引服务我控制
前面已经提到,索引服务必须在Windows 2000以上版本的 *** 作系统中才能使用,而系统中的索引服务默认是关闭的,应该如何来启动和使用索引服务呢?
1. 启动索引服务
打开“控制面板→管理工具→服务”窗口,找到Indexing Service服务双击打开属性对话框。将启动类型设置为“自动”或“手动”,然后单击右下角的“应用”按钮使其生效,原来呈灰色状态的“启动”按钮就可以使用了,单击后即可启动索引服务,以后当系统处于空闲状态时,索引服务将为计算机上的文件编制索引并加以维护。
启动索引服务后,系统会在硬盘系统分区上创建一个名为System Volume Information\catalogwci的文件用来存放索引文件。索引服务可以连续运行并且几乎不需要维护,安装索引服务后所有的 *** 作都将自动完成,包括索引的创建、索引的更新、掉电时的故障恢复等。
2. 在搜索时调用索引服务
启动索引服务后,应该可以提高搜索的速度和效率,但必须首先让搜索调用索引服务才行。在搜索窗口中选择“改变首选项”,如图3所示,选择“是的,启用制作索引服务”选项,确定后即可在搜索中使用索引服务。
编入索引的文档总体大小和正在使用的文件系统类型会影响存储索引服务的数据所需的磁盘空间大小,FAT文件系统分类需要的空间加上临时工作空间大约是索引文件问题的30%,而NTFS文件系统需要的空间大约是索引文件问题的15%。
3. 创建索引目录
索引服务将其所有的索引信息都存储在编录中,编录包含了索引信息和文件系统目录的特定组的存储属性,在Windows中安装索引服务后,将自动构造成为系统编录,其中列出了所有永久连接磁盘驱动器的内容,除特定文件和临时文件之外,系统编录中包含了所有文档的索引。如果检测到Internet信息服务,索引服务将同时创建名为Web的编录。
(1)文档内容。索引包含了每个文档的内容,除了在例外列表中的词(例如冠司、介词、代词),文档内容包括:HTML文档中的文字,新闻组文章或电子邮件的邮件正文,字处理程序文档或其他文档的正文。索引占编录的绝大部分空间,大约为编入索引的文档总大小的15~30%。
(2)文档属性。文档属性代表了文档的特征,例如创建日期、作者姓名、文档大小,属性值是特定档案的特定信息,有些属性值由创建文档的程序自动设置,而有些属性值则由用户输入,所有属性和属性值都同文档内容一道编入索引并且要以搜索,多数属性还可以显示在搜索结果的列表中,但某些在文档被索引时必须被存储在属性缓存中,否则索引服务将无法找到,当然也就无法在搜索结果中显示了。
(3)创建编录。其实,大多数情况下我们只需要对某些特定文件夹进行索引,这样系统默认的System编录就无法满足我们的需要了。此时,你可以根据实际情况添加相应的编录,打开“控制面板→管理工具→计算机管理”窗口,依次展开“计算机管理(本地)→服务和应用程序→索引服务”,从 *** 作菜单中选择“新建→编录”,输入编录名称,并选择索引数据的保存位置,注意添加编录后必须中止并重新启动索引服务进行索引。
(4)添加目录。接下来,你还需要为刚才新建的编录添加目录,在右侧空白处选择“新建→目录”,在d出的对话框中单击“浏览”按钮设置相应的路径,注意应该将下面的“包括在索引中吗?”设置为“是”,如果选择“否”可以将这个文件夹排除在索引之外,添加后系统将自动完成该目录的完整扫描。当然,你也可以在目录列表中右击文件夹,选择“所有任务→重新扫描(增量)”,这样系统将仅仅索引被改动过的部分。
4. 让索引服务支持更多的文件
在默认设置下,索引服务只支持具备相应筛选器的文档类型,是否能让它能够支持更多的文件,例如非常流行的XML文档呢?
打开“控制面板→管理工具→计算机管理”窗口,依次展开“计算机管理(本地)→服务和应用程序→索引服务”,右击需要添加支持文档类型的编录,打开属性窗口,切换到“生成”标签页,如图4所示,首先请去除“继承服务的以上设置”复选框,然后选中“可继承设置”小节中的“含有未知扩展名的索引文件”复选框。
5. 调整索引服务性能
我们可以根据使用服务的方式来调整索引服务的性能,主要是更改用于索引和查询处理的计算机资源的数量,右击索引服务,首先从“ *** 作”菜单中选择停止,然后再次从“ *** 作”菜单中选择“所有任务→所有任务→调整性能”,在“索引服务使用”对话框中选择最适合“索引服务”在计算机上的使用方式的选项,这里提供了经常使用、偶尔使用、从不使用、自定义共四种索引服务用法。
如果选择“自定义”,我们可以获得更多的调整权限,如图5所示,可以选择将“索引”滑块移到“迟缓”或“立即”位置,前者可以延缓索引,使用的系统资源较少;后者会立即索引新文档和更改过的文档,但将使用尽可能多的系统资源。如果一次处理的查询不多,可以将“查询”滑块移到“低负载”处;如果一次处理大量查询,请移到“高负载”处,当然后者将使用较多的资源。
“索引”和“查询”调整完毕后,都必须重新启动索引服务才能生效。
6. 使用系统监视器监视索引服务
我们可以使用Windows内置的性能监视功能来监视索引服务,从控制面板中双击“性能”图标打开如图6所示窗口,从右键菜单中添加相应的计数器,绑定时间(绑定到筛选器文件的平均时间)、索引速度(文档索引速度,但不包括生成的摘要)、总索引速度(包括生成的摘要)这3个计数器将显示在“索引服务筛选器”对象下,运行中的查询(正在处理的查询数)、查询总数(在该索引会话中处理的总数)这2个计数器将显示在“索引服务对象”下。
7. 降低索引服务的资源占用率
由于索引服务将耗费大量的内存和系统资源,如果内存不足将严重影响性能,因此建议配置更高容量的内存,同时配置速度快的处理器也可以提高索引的性能和查询的处理速度。
例如在选择一些个头较大的AVI视频文件时,系统往往会停止响应,由于系统首先会扫描该文件,并执行一次循环来检查文件的所有部分以便建立索引,假如文件超过700MB且没有索引信息,系统查询索引所需要的时间会相当长,而且CPU的使用率也会很高。如果使用的是NTFS分区,可以右击视频文件所在的文件夹,打开属性窗口的“常规→高级”对话框,取消勾选“为了快速搜索,允许索引服务编制该文件夹的索引”复选框,选择应用到所有文件,确定后即可。
最后需要说明的是,在运行备份程序或者扫描病毒时,由于这些程序会锁住一些文件造成索引服务停止更新内容,这样索引服务在试图索引这些文件时将超时,正确的做法是暂时停止索引服务。
很简单:
API函数:
GetModuleFileName(模块句柄,保存的字符数组,字符数组的大小);
一般来说,要获取正在运行程序的全路径,那就在第一个参数写个0
参数2是保存的数组,获取的路径将保存在这个数组
参数三是字符数组的大小
给你一个示例程序:
#include <windowsh>
#include <stdioh>
void main()
{
char ExePlace[1024];/保存地址的数组/
GetModuleFileName(0,ExePlace,1024);/获取当前运行全路径/
puts(ExePlace);/输出获取到的路径/
}
用GetModuleFileName这个函数就可以做到了,完整代码如下,自己编译运行下就知道了
#include <stdioh>
#include <windowsh>
int main()
{
char ExeFile[200];
//得到当前文件路径名
GetModuleFileName(NULL,ExeFile,200);
printf("当前文件路径为:\n");
printf("%s\n",ExeFile);
return 0;
}
以上就是关于如何得到当前用户的 ‘程序’文件夹的路径全部的内容,包括:如何得到当前用户的 ‘程序’文件夹的路径、C#中如何获得当前应用程序路径、c#中怎么获得当前路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)