无法正确读取图标 |
缺席
|
bigdogchina
版主 ![]() ![]() ![]() ![]() ![]() 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
大大们好,小弟问题多多,请在茫茫迷海中给我指条明路吧
------
人生在勤,不索何获? |
bigdogchina
版主 ![]() ![]() ![]() ![]() ![]() 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
小弟还有一个问题:
对于一个AnsiString的字符串,如果里面包含了路径和相关的参数,存不存在这样的可能: 把相关的路径提出来呢?
例如字符串: AnsiString str1,str2,str3;
str1="C:\\PROGRAM FILES\\REAL\\REALONE PLAYER\\RealPlay.exe SYSTEMBOOTHIDEPLAYER";
str2="C:\\Program Files\\QuickTime\\qttask.exe -atboottime";
str3="mobsync.exe /logon"; 能否把exe的路径读出来呢?让它们变成下面这样的形式: str1="C:\\PROGRAM FILES\\REAL\\REALONE PLAYER\\RealPlay.exe";
str2="C:\\Program Files\\QuickTime\\qttask.exe";
str3="mobsync.exe"; 我的确不知道可不可能实现这样的功能?如果有,请大大您指点我,好吗?如果没有也没什么的,小弟多有打搅,抱歉了!
------
人生在勤,不索何获? |
bigdogchina
版主 ![]() ![]() ![]() ![]() ![]() 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
感谢大家,我自己已经把问题解决了.
1. 有些系统文件的图标自身是没有的,它是引用的Explorer中的图标.可以用下面的代码来判断是否能正确读出图标:
void __fastcall TForm1::Button1Click(TObject *Sender) { HICON hIcon; if(OpenDialog1->Execute()) { AnsiString MyFileName = OpenDialog1->FileName; hIcon = ExtractIcon(Form1->Handle,MyFileName.c_str(),0); if(hIcon != NULL) { ShowMessage("能把图标搞定哦"); } else ShowMessage("哎,无能为力了^_^"); } }2.关于将字段提出来的办法.因为都有规律,所以就可拆解: AnsiString __fastcall TForm1::MyStringSegment(AnsiString Str,AnsiString Comma,int Seg) { AnsiString sResult; //做为结果返回 if((Str.IsEmpty()) || (Seg <1)) { sResult = ""; return sResult; } String C = Comma; if(C == "") C = ","; String s = Str; String sTemp; int iPosComma; TStringList *TempList = new TStringList; //哦,这里有一个列表哈 TempList->Clear(); while(s.Pos(C) > 0) { iPosComma = s.Pos(C); //什么哦 sTemp = s.SubString(1,iPosComma - 1); TempList->Add(sTemp); s = s.SubString(iPosComma 1,s.Length()); } if(s.Length() != 0) TempList->Add(s); if(Seg > TempList->Count) { sResult = ""; } else sResult = TempList->Strings[Seg - 1]; delete TempList; return sResult; }只需要将.号前面的拆出后再加上exe就搞定了
------
人生在勤,不索何获? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |