关于iFeng助手连接版 部分用户会出现运行出错的情况,已经做了改进,将下面的函数覆盖即可
来源:互联网 发布:福建护理网络教育 编辑:程序博客网 时间:2024/04/30 03:01
关于iFeng助手连接版 部分用户会出现运行出错的情况,已经做了改进,将下面的函数覆盖即可
在iFeng文件夹的iTunesApi.cpp文件中
UINT iTunesApi::InitApi()
{
char *libvar = NULL;
char newlibvar[4096];
char dllpath_iTunesMobileDevice[MAX_PATH] = {0};
char dllpath_CoreFoundation[MAX_PATH] = {0};
HKEY regKey1=NULL,regKey2=NULL;
WCHAR value1[MAX_PATH]={0},value2[MAX_PATH]={0};
long ret = 0;
unsigned long vsize = MAX_PATH;
DWORD dwType=REG_NONE;
ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCWSTR)L"SOFTWARE\\Apple Inc.\\Apple Mobile Device Support\\Shared",0, KEY_READ,®Key1);
if (ret) return 2;
ret = ::RegQueryValueEx(regKey1,(LPCWSTR)L"iTunesMobileDeviceDLL",0,&dwType,(LPBYTE)value1,&vsize);
if (ret) return 2;
ret = ::RegCloseKey(regKey1);
ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCWSTR)L"SOFTWARE\\Apple Inc.\\Apple Application Support",0, KEY_READ,®Key2);
if (ret) return 2;
ret = ::RegQueryValueEx(regKey2,(LPCWSTR)L"InstallDir",0,&dwType,(LPBYTE)value2,&vsize);
if (ret) return 2;
ret = ::RegCloseKey(regKey2);
UINT len1 = wcslen(value1) - strlen("\\iTunesMobileDevice.dll");
UINT len2 = wcslen(value2) - 1;
wcstombs(dllpath_iTunesMobileDevice,value1,wcslen(value1) - strlen("\\iTunesMobileDevice.dll"));
wcstombs(dllpath_CoreFoundation,value2,wcslen(value2) - 1);
dllpath_iTunesMobileDevice[len1] = '\0';
dllpath_CoreFoundation[len2] = '\0';
WCHAR ____iTunesMobileDevice_path[MAX_PATH] = {0};
WCHAR ____CoreFoundation_path[MAX_PATH] = {0};
WCHAR ____SQLite3_path[MAX_PATH] = {0};
WCHAR ____LocalRunPath[MAX_PATH] = {0};
__hCoreFunctionDll = NULL;
__hiTunesDeviceDll = NULL;
libvar = getenv("path");
sprintf(newlibvar,"path=%s;%s;%s",dllpath_CoreFoundation,dllpath_iTunesMobileDevice,libvar);
_putenv(newlibvar);
libvar = getenv("path");
wcscpy(____iTunesMobileDevice_path,value1);
wcscpy(____CoreFoundation_path,value2);
wcscat(____CoreFoundation_path,L"CoreFoundation.dll");
wcscpy(____SQLite3_path,value2);
wcscat(____SQLite3_path,L"SQLite3.dll");
GetModuleFileName(NULL,____LocalRunPath,MAX_PATH);
UINT uLen = wcslen(____LocalRunPath);
while (____LocalRunPath[--uLen]!='\\'){}
____LocalRunPath[uLen] = '\0';
wsprintf(____LocalRunPath,L"%s\\SQLite3.dll",____LocalRunPath);
CopyFile(____SQLite3_path,____LocalRunPath,FALSE);
__hCoreFunctionDll = ::LoadLibrary(____CoreFoundation_path);
__hiTunesDeviceDll = ::LoadLibrary(____iTunesMobileDevice_path);
/*下面的代码不动*/
......
}
- 关于iFeng助手连接版 部分用户会出现运行出错的情况,已经做了改进,将下面的函数覆盖即可
- (找到原因了)(又改了下,感觉有个最下面那块函数,应传入指针的指针)求求哪位大神给看看吧,为何注释部分放开竟然会出错,琢磨一天了啊,万分感谢!!!!!!!!!!!!!!!!!!!!
- 下面的程序运行时哪里会出现错误
- 用rename已经改了类名,运行时不出错,但是出现未改之前的类名
- win7系统在安装了个别软件之后,偶尔会出现部分应用程序图标丢失的情况
- 在未安装IIS的情况下,先安装了.NET,则在调试程序的时候会出现下面的错误
- MPI_Isend()函数会出现内存耗尽的情况吗
- iOS开发往字典里面添加数据会出现后面的数据覆盖前面的情况
- SUSE已经安装了libsodium,安装zeromq时出现下面的错误?
- 在使用vector的push_back函数时,Release版下运行会出错的一个原因
- 在使用vector的push_back函数时,Release版下运行会出错的一个原因
- 在使用vector的push_back函数时,Release版下运行会出错的一个原因
- 做了一个网页版的串口调试助手
- vector的push_back函数时,Release版下运行会出错de原因
- 关于jdbc连接出现conn关闭情况以及部分优化
- Struts2+Urlrewrite实现伪静态化 demo中介绍了三种情况的配置,下载即可运行。
- 如果你的程序没有改动,但系统已经出现问题了,请考虑以下情况。
- 关于VS2013连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案。
- Ecshop去除版权
- PHP Linux Cli 模式下利用 pcntl_fork实现多进程处理
- 正则表达式——元字符
- 从阿里巴巴走出的创业牛人们
- 常用css与js
- 关于iFeng助手连接版 部分用户会出现运行出错的情况,已经做了改进,将下面的函数覆盖即可
- 给技术人上的管理课:控制和计划
- 自己动手编译Linux内核
- Dalvik概述
- 条件 从左移动到邮编
- 让 root 用户使用 ssh 直接登录主机
- 浅谈JasperReport核心api工作原理
- 你创不出伟大的事业,因为……
- Java深入 - 触发Full GC执行的情况