当前位置:首页 » 文件管理 » win32查找文件夹

win32查找文件夹

发布时间: 2022-09-27 13:24:25

㈠ 如何用C代码遍历整个windows文件夹查找某个特定文件

#include "stdafx.h"
#include <windows.h>

BOOL IsRoot(LPCTSTR lpszPath)
{
TCHAR szRoot[4];
wsprintf(szRoot, "%c:\\", lpszPath[0]);
return (lstrcmp(szRoot, lpszPath) == 0);
}

void FindInAll(::LPCTSTR lpszPath)
{TCHAR szFind[MAX_PATH];
lstrcpy(szFind, lpszPath);
if (!IsRoot(szFind))
lstrcat(szFind, "\\");
lstrcat(szFind, "*.*"); // 找所有文件
WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile(szFind, &wfd);
if (hFind == INVALID_HANDLE_VALUE) // 如果没有找到或查找失败
return;

do
{
if (wfd.cFileName[0] == '.')
continue; // 过滤这两个目录
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
else
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
FindInAll(szFile); // 如果找到的是目录,则进入此目录进行递归
}
else
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
else
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
printf("%s\n",szFile);
// 对文件进行操作
}
} while (FindNextFile(hFind, &wfd));
FindClose(hFind); // 关闭查找句柄

}
int main(int argc, char* argv[])
{
FindInAll("e:\\result");
return 0;
}
//结合网上资料写出的,作者--杨克群^_^

㈡ Win32 API 中获取文件夹下文件列表的函数是哪个呀知道的朋友告诉下.

没有文件列表,只能枚举所有文件,再根据文件的属性判断是文件或者文件夹。
下面是MSDN上的完整例子
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <strsafe.h>
#pragma comment(lib, "User32.lib")

void DisplayErrorBox(LPTSTR lpszFunction);

int _tmain(int argc, TCHAR *argv[])
{
WIN32_FIND_DATA ffd;
LARGE_INTEGER filesize;
TCHAR szDir[MAX_PATH];
size_t length_of_arg;
HANDLE hFind = INVALID_HANDLE_VALUE;
DWORD dwError=0;

// If the directory is not specified as a command-line argument,
// print usage.

if(argc != 2)
{
_tprintf(TEXT("\nUsage: %s <directory name>\n"), argv[0]);
return (-1);
}

// Check that the input path plus 3 is not longer than MAX_PATH.
// Three characters are for the "\*" plus NULL appended below.

StringCchLength(argv[1], MAX_PATH, &length_of_arg);

if (length_of_arg > (MAX_PATH - 3))
{
_tprintf(TEXT("\nDirectory path is too long.\n"));
return (-1);
}

_tprintf(TEXT("\nTarget directory is %s\n\n"), argv[1]);

// Prepare string for use with FindFile functions. First, the
// string to a buffer, then append '\*' to the directory name.

StringCchCopy(szDir, MAX_PATH, argv[1]);
StringCchCat(szDir, MAX_PATH, TEXT("\\*"));

// Find the first file in the directory.

hFind = FindFirstFile(szDir, &ffd);

if (INVALID_HANDLE_VALUE == hFind)
{
DisplayErrorBox(TEXT("FindFirstFile"));
return dwError;
}

// List all the files in the directory with some info about them.

do
{
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
_tprintf(TEXT(" %s <DIR>\n"), ffd.cFileName);
}
else
{
filesize.LowPart = ffd.nFileSizeLow;
filesize.HighPart = ffd.nFileSizeHigh;
_tprintf(TEXT(" %s %ld bytes\n"), ffd.cFileName, filesize.QuadPart);
}
}
while (FindNextFile(hFind, &ffd) != 0);

dwError = GetLastError();
if (dwError != ERROR_NO_MORE_FILES)
{
DisplayErrorBox(TEXT("FindFirstFile"));
}

FindClose(hFind);
return dwError;
}

void DisplayErrorBox(LPTSTR lpszFunction)
{
// Retrieve the system error message for the last-error code

LPVOID lpMsgBuf;
LPVOID lpDisplayBuf;
DWORD dw = GetLastError();

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );

// Display the error message and clean up

lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT,
(lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR));
StringCchPrintf((LPTSTR)lpDisplayBuf,
LocalSize(lpDisplayBuf) / sizeof(TCHAR),
TEXT("%s failed with error %d: %s"),
lpszFunction, dw, lpMsgBuf);
MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);

LocalFree(lpMsgBuf);
LocalFree(lpDisplayBuf);
}

㈢ AdWare.Win32.Dodolook.hb 在哪个文件夹里呀

在搜索里输入AdWare.Win32.Dodolook.hb点击搜索。在右面的空白里就可以看见这个文件了。找不到可能是被隐藏了。搜索到之后直接在搜索的地方解压就可以了。不用再找那个文件。

㈣ win32是什么文件

"不是有效的win32应用程序"解决方案
1. 解决方法:右键打开其中一受感染的盘符,在工具栏---文件夹选项--查看下, 选显示所有文件和文件夹,同时去除隐藏受保护的系统文件前的勾,你会发现在你的盘符下多了一antorun.inf 的文件,打开我们可以看到如下的内容: [AUTORUN] open=Iexplorers.exe 这句话的意思就是当你双击盘符时自动打开写入注册表中的病毒程序文件, 即使病毒被杀死,但是注册表的信息依然存在,这就是无法打开盘符的原因, 知道了原因,那么我们就来删除病毒在注册表中的残留信息,开始---运行中输入regedit打开注册表编辑程序,ctrl+f打开查找命令,输入Iexplorers.exe, 点查找,接下来会在注册表中找到此键值.一般在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \MountPoints\下.

2. 对于分区不能双击打开者开始》》运行 输入regedit 找到[HKEY_CLASSES_ROOT\Drive\shell]将shell下的全部删除 然后关闭注册表 按键盘F5刷新 双击分区再看对于文件夹不能双击打开者开始》》运行 输入regedit 找到[HKEY_CLASSES_ROOT\Directory\shell]将shell下的全部 删除 然后关闭注册表 按键盘F5刷新 双击分区再看 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \MountPoints\F\Shell\command\下发现此键值,把shell子键删除即可.f3查找下一个,重复操作,直到所有的都清除.f5刷新,除盘符下的antorun.inf文件. 问题即可解决!

双击d盘(或者其他盘)打不开,只能右键打开,右键多了一个“自动播放”,怎么解决?

答:我的电脑-工具-文件夹选项-查看-显示所有文件和文件夹,然后进入d盘,把autorun.inf删除,重启即可。

如果找不到autorun.inf,那么

1、开始-->运行-->cmd(打开命令提示符)

2、dir autorun.inf /a (没有参数a是看不到的,a是显示所有的意思),此时你会发现一个autorun.inf文件

3、attrib autorun.inf -s -h -r 去掉autorun.inf文件的系统、只读、隐藏属性,否则无法删除。 4、del autorun.inf 重启即可。

如果双击某个盘符时有错误提示,说找不到某文件,比如说找不到abc.exe,这时需到注册表中搜索abc.exe(一般是在SHELL/COMMAND下面),找到后删除整个SHELL子键就可以了。

现象: 1、在每个硬盘驱动器根目录下存在很多.zip和.rar压缩文件,文件名多为pass,work,install,letter,大小约为126K;

2、在每个硬盘驱动器根目录下存在COMMAND.EXE;

3、存在C:\WINDOWS\system32\hxdef.EXE文件;

4、磁盘盘符双击不能打开,说Windows无法找到COMMAND.EXE文件,要求定位该文件,定位为C:\windows\explorer之后每次打开会提示“/StartExplorer”出错,然后依然能打开驱动器文件夹;

5、病毒在每个驱动器下面写入了一个大小为49字节的AutoRun.inf文件,

内容为: ----------------------------------------------------------------------------- open="X:\command.exe" /StartExplorer

X为驱动器盘符所以,如果你没有杀毒,每次点开C/D/E/F/G盘都会激活病毒 手工清除:

1、开始-->运行-->cmd(打开命令提示符)

2、dir autorun.inf /a (没有参数a是看不到的,a是显示所有的意思),此时你会发现一个autorun.inf文件,约49字节。

3、attrib autorun.inf -s -h -r 去掉autorun.inf文件的系统、只读、隐藏属性,否则无法删除。 4、del autorun.inf 到这里还没完,因为你双击了D盘盘符没有打开却得到一个错误。要求定位command.exe,这个时候自动运行的信息已经加入注册表了。

5、清除注册表中 (1)开始-->运行-->regedit-->编辑-->查找-->command.exe 找到的第一个就是C盘的自动运行,删除整个shell子键

㈤ Microsoft.Win32.dll这个dll在什么地方我得是xp系统,在里面怎么找不到

c盘windows/system32 ,DLL都在里面

㈥ 请问如何用win32汇编语言遍历所有驱动器和所有文件夹

使用API函数GetLogicalDriveStrings可以实现遍历所有驱动器。
用法:http://ke..com/view/1290392.htm
使用API函数FindFirstFile和FindNextFile可以实现遍历文件夹。
用法:http://ke..com/view/1288768.htm
用法:http://ke..com/view/1288769.htm

㈦ 我怎么找不到win32文件夹

没有是正常的 我的系统是XP 我也没有

㈧ 安装了win10,重启后显示win32错误报告 系统找不到指定的路径,哪位大神帮我能帮帮我解决一下

启动C:\******\*******\ChaDaoCheng.dll时出错找不到指定的模块(这是卸载文件在启动中还有没有删除的文件引起的,如果你说的是开机出的这个框,如果不是请你追问我)。(1)运行输入msconfig回车,打开系统配置实用程序,在启动项目中查找一个名为“ChaDaoCheng.dll”,如果有将它前面的钩去掉,然后按应用确定(如果没有跳过,Win810的开机启动在任务管理器的“启动”中)。(2)运行输入regedit回车打开注册表,选编辑查找一个名为“ChaDaoCheng.dll”的键值项,找到后删除,多查找几次删除干净,然后重新启动电脑即可。还是不可以,还原系统或重装。使用系统自带的系统还原的方法:Win7810还原系统,右击计算机选属性,在右侧选系统保护,系统还原,按步骤做就是了,如果有还原软件,也可以用软件还原系统。

㈨ Win32.Troj.Agent 找不到病毒毒所在文件夹 各种方式粉碎不掉

按着路径找到目标文件

然后 再 开始-运行-输入‘cmd’-访问到目标的文件夹-输入“rd/s 文件名字”-删除完毕

发现删除不了的话 再 输入“tasklist/m 病毒文件名”看看那个进程再使用这

个病毒文件,得知后结束对应的进程 再删除看看

完毕~~~~~~~~~

热点内容
android图片xml 发布:2024-10-09 11:11:08 浏览:531
交换机基本配置与远程登录怎么做 发布:2024-10-09 11:02:06 浏览:674
服务器远程地址怎么看 发布:2024-10-09 10:43:24 浏览:140
隐身访问访客会增加吗 发布:2024-10-09 10:38:29 浏览:209
vb代码如何编译 发布:2024-10-09 10:22:59 浏览:914
sql无效的连接 发布:2024-10-09 10:19:31 浏览:70
javaif条件 发布:2024-10-09 10:01:04 浏览:958
安卓爱思助手怎么改战区 发布:2024-10-09 09:25:29 浏览:181
安卓手机用什么软件传软件到苹果 发布:2024-10-09 09:11:02 浏览:369
苹果安卓怎么传抖音 发布:2024-10-09 09:10:18 浏览:823