怎样判断当前系统flash插件的版本????

Chxis 2003-02-21 10:55:01
我想如果版本旧就重新注册一个,如果新就不用了
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdws222 2003-02-22
  • 打赏
  • 举报
回复
不会
Chxis 2003-02-22
  • 打赏
  • 举报
回复
fen
yeahchang 2003-02-22
  • 打赏
  • 举报
回复
咦!在HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{D27CDB6E-AE6D-11cf-96B8-444553540000}真的有啊!
yeahchang 2003-02-22
  • 打赏
  • 举报
回复
不是呀,可以读:
HKEY_CLASSES_ROOT\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\ToolboxBitmap32
里面就有路径呀!
Chxis 2003-02-22
  • 打赏
  • 举报
回复
好象解决了,就是查注册表的属性:
HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{D27CDB6E-AE6D-11cf-96B8-444553540000}
Chxis 2003-02-22
  • 打赏
  • 举报
回复
thx
但是win98和win2000的存取路径是不同的
我不知道winme winxp会不会也不同,

该不会还要判断system version先吧?
yeahchang 2003-02-22
  • 打赏
  • 举报
回复
int VersionSize;
char *ExeName="c:\\winnt\\system32\\Macromed\\\Flash\\flash.ocx";
//可以从注册表中读出%windir%
unsigned int fFileInfoSize = sizeof( VS_FIXEDFILEINFO );
char *pVersion;
AnsiString VersionInfo;//你想要得
VS_FIXEDFILEINFO *FileInfo;
void **ppFileInfo = (void **)&FileInfo;

VersionInfo = "找不到文件";
VersionSize = GetFileVersionInfoSize( ExeName, NULL );
if( VersionSize != 0 )
{
pVersion = new char[VersionSize];
if(GetFileVersionInfo(ExeName,0, VersionSize, pVersion))
{
if( VerQueryValue(pVersion, "\\", ppFileInfo, &fFileInfoSize ) )
{

VersionInfo += IntToStr( HIWORD(FileInfo->dwFileVersionMS) )+".";
VersionInfo += IntToStr( LOWORD(FileInfo->dwFileVersionMS) )+".";
VersionInfo += IntToStr( HIWORD(FileInfo->dwFileVersionLS) );

}
}
delete []pVersion;
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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