【很简单,提供资料】VC设置“显示已知类型的扩展名”

sunnysab 2012-08-07 03:56:59
我想用VC来设置显示已知类型的扩展名,后来查了一下,打算用注册表解决该问题。
希望哪位大侠写代码。

资料:
HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT\\下的UcheckedValue键值,如果为0,则显示已知类型的扩展名,为1则不显示已知类型的扩展名。

要求:
1.将HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT\\下的UcheckedValue键值改为0.
2.写成函数形式,代码越短越好!
3.VC++6.0的控制台下必须编译通过(注意,是控制台下)
谢谢了
...全文
214 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gfm688 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

#include "shlwapi.h"
#pragma comment(lib, "shlwapi.lib")

DWORD dwValue = 0;

SHSetValue(HKEY_CURRENT_USER,
TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"),
……
[/Quote]



#include "shlwapi.h"
#pragma comment(lib, "shlwapi.lib")

DWORD dwValue = 0;

SHSetValue(HKEY_CURRENT_USER,
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"),
TEXT("HideFileExt"),
REG_DWORD,
&dwValue,
sizeof(DWORD));



#4楼 忘记转义了

dog357 2012-08-09
  • 打赏
  • 举报
回复

#include <atlbase.h> //注册表
#define SOFT_REGKEY_PATH _T("SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT")
#define SOFT_REGKEY_NAME _T("UcheckedValue")
BOOL SetRegUcheckedValue(DWORD n)
{
CRegKey reg;
LONG res = reg.Open(HKEY_LOCAL_MACHINE, SOFT_REGKEY_PATH, KEY_ALL_ACCESS);
if (res != ERROR_SUCCESS) //打开注册表失败
{
return FALSE;
}
res = reg.SetDWORDValue(SOFT_REGKEY_NAME, n);
if (res != ERROR_SUCCESS) //修改键值失败
{
return FALSE;
}
return TRUE;
}
gfm688 2012-08-08
  • 打赏
  • 举报
回复
#include "shlwapi.h"
#pragma comment(lib, "shlwapi.lib")

DWORD dwValue = 0;

SHSetValue(HKEY_CURRENT_USER,
TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"),
TEXT("HideFileExt"),
REG_DWORD,
&dwValue,
sizeof(DWORD));
sunnysab 2012-08-08
  • 打赏
  • 举报
回复
自己先顶一下
Gloveing 2012-08-07
  • 打赏
  • 举报
回复
#include <stdlib.h> 
void main()
{
system("reg add "
"HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION"
"\\EXPLORE\\ADVANCED\\FOLDER\\HideFileExt"
" /v UcheckedValue /t REG_DWORD /d 00000000");
}
dog357 2012-08-07
  • 打赏
  • 举报
回复

CRegKey reg;
LONG res = reg.Open(HKEY_LOCAL_MACHINE, SOFT_REGKEY_PATH, KEY_ALL_ACCESS);
if (res != ERROR_SUCCESS) //打开注册表失败
{
InitOver();
return;
}
//res = reg.QueryDWORDValue(SOFT_REGKEY_NAME, m_RegKeyValue); //获取键值
TCHAR szValue[50], szValue2[10];
m_format.ClearArray(szValue, 50, L'\0');
m_format.ClearArray(szValue2, 10, L'\0');
ULONG ncount = 50;
res = reg.QueryStringValue(SOFT_REGKEY_NAME_VERSION, szValue, &ncount); //获取键值
if (res != ERROR_SUCCESS) //读取注册表失败
{
reg.Close();
InitOver();
return;
}
CString cs(code2);
reg.SetStringValue(SOFT_REGKEY_NAME_UESDTIMES, cs); //使用次数写入注册表
代码下载地址: https://pan.quark.cn/s/f772f44531a5 FFmpeg 是一款功能丰富的开源命令行软件,能够对多种类型的多媒体数据,涵盖音频及视频内容,进行操作。它具备多种能力,例如进行格式转换、合并不同媒体、分割文件、执行编码与解码处理、以及实现流媒体传输等。在此特定情境下,主要探讨如何运用 FFmpeg 来处理 MP4 文件的播放难题,特别是那些无法通过流式传输正常播放的文件。MP4 文件播放时可能遇到的障碍,可能是由播放器不兼容的编码方式、容器结构错误、元数据位置设置不当,或是缺少必要的流信息所导致。FFmpeg 能够协助我们识别并修正这些问题。 1. **针对 MP4 文件的检测与修复**:借助 FFmpeg 的 `-i` 参数,可以获取 MP4 文件的详细资料,例如: ``` ffmpeg -i problematic.mp4 ``` 若发现编码方式、时间轴或容器结构存在问题,可尝试对文件进行重新封装(remuxing)或重新编码(transcoding)。例如,通过简单的重新封装操作: ``` ffmpeg -i problematic.mp4 -c copy fixed.mp4 ``` 此指令将维持视频和音频流的原状,仅更换文件的容器格式。 2. **应对流传输挑战**:当文件无法以流方式播放时,通常是因为流信息未正确嵌入文件头部。FFmpeg 可用于解决该问题: ``` ffmpeg -i problematic.mp4 -movflags +faststart output.mp4 ``` ...

2,644

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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