L l0v3_y1n9 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-01 #1 别用pos和copy等函数,很不实用...<br>我尝试挂钩NtCreateFile,得出的文件名结果是//??/C:/Test.exe这是一种Windows的路径格式,我想通过相关API函数实现转换成C:/Test.exe
别用pos和copy等函数,很不实用...<br>我尝试挂钩NtCreateFile,得出的文件名结果是//??/C:/Test.exe这是一种Windows的路径格式,我想通过相关API函数实现转换成C:/Test.exe
S sy0116 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-02 #4 //??/是正常的,符号连接就是这个样子,楼主直接写个小函数把前缀去掉就行了
Z zqw0117 Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-03 #6 本来就长度固定,一定是<br>//??/<br>的<br>不过你还是要用Copy或者Pos判断,因为除了这样的,还有别的样式的(那是在打开端口啊,硬盘啊,等硬件设备的时候用的,写法和//??/不同),判断后再删除才保险。
本来就长度固定,一定是<br>//??/<br>的<br>不过你还是要用Copy或者Pos判断,因为除了这样的,还有别的样式的(那是在打开端口啊,硬盘啊,等硬件设备的时候用的,写法和//??/不同),判断后再删除才保险。
S SupermanTm Unregistered / Unconfirmed GUEST, unregistred user! 2008-02-07 #7 最简单的方法:<br>function MyStrFilter(const S: String): String;<br>var<br> X, Y: Integer;<br>begin<br> SetLength(Result, 0);<br> X:= AnsiPos(':/', S);<br> if X >= 2 then begin<br> Y:= Length(S) - X + 2;<br> SetLength(Result, Y);<br> Move(S[X-1], Result[1], Y);<br> end;<br>end;
最简单的方法:<br>function MyStrFilter(const S: String): String;<br>var<br> X, Y: Integer;<br>begin<br> SetLength(Result, 0);<br> X:= AnsiPos(':/', S);<br> if X >= 2 then begin<br> Y:= Length(S) - X + 2;<br> SetLength(Result, Y);<br> Move(S[X-1], Result[1], Y);<br> end;<br>end;