Delphi ´ò¿ªÎļþ¼Ð·½·¨
µÚÒ»ÖÖ·½·¨,ʹÓÃSelectDirectory º¯Êý ,ÔÚShellApiÖÐ
procedure TForm2.BtSelectPathClick(Sender: TObject);
var
strCaption,strDirectory:String;
wstrRoot:WideString;
begin
strCaption:='ÕâÊÇä¯ÀÀÎļþ¼ÐµÄ˵Ã÷ÎÄ×Ö£¬¿ÉÒÔ¸ù¾ÝÐèÒª½øÐÐÊéд¡£'
+#13#10+'Ò»°ã¶þÐÐÎÄ×Ö¾ÍÂúÁË¡£';
//¸Ã²ÎÊýÊÇä¯ÀÀÎļþ¼Ð´°¿ÚµÄÏÔʾ˵Ã÷²¿·Ö
wstrRoot:='';
//Õâ¸ö²ÎÊý±íʾËùÏÔʾµÄä¯ÀÀÎļþ¼Ð´°¿ÚÖеĸùĿ¼£¬Ä¬ÈÏ»ò¿Õ±íʾ“ÎҵĵçÄÔ”¡£
SelectDirectory(strCaption,wstrRoot,strDirectory);
EdLocalPath.Text:=strDirectory;
end;
µÚ¶þÖÖ·½·¨
ÒªÇó£ºÀûÓÃWin32 API SHBrowseForFolder¿ªÆôÒ»¸öÑ¡ÔñÎļþĿ¼µÄ¶Ô»°¿ò£¬Ô¤Ïȶ¨Î»µ½Ä¬ÈϵÄĿ¼£¬×îºó·µ»ØËùÑ¡ÔñµÄ½á¹û£¬Èç¹ûûÓнøÐÐÑ¡Ôñ£¨¼´µ¥»÷“È¡Ïû”½áÊøÑ¡Ôñ£©Ôò·µ»Ø¿Õ''¡£
´úÂëÈçÏÂ:(ÒÔÏÂÁ½¸öº¯Êý¶¨ÒåÐèÒªÔÚusesÖÐÒýÈëÁ½¸öµ¥ÔªShlObj,Windows;)
function BrowseCallbackProc(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall;
begin
case uMsg of
BFFM_INITIALIZED: SendMessage(Wnd, BFFM_SETSELECTION, 1, lpData);
end;
Result := 0;
end;
function BrowsFolder(const Folder: string): string;
var
TitleName: string;
lpItemID: PItemIDList;
BrowseInfo: TBrowseInfo;
DisplayName: array[0..MAX_PATH] of char;
TempPath: array[0..MAX_PATH] of char;
begin
Result := Folder;
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := GetActiveWindow;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'ÇëÑ¡ÔñÒ»¸öĿ¼';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
BrowseInfo.lpfn := BrowseCallbackProc;
BrowseInfo.lParam := Integer(PChar(Folder));
lpItemID := SHBrowseForFolder(BrowseInfo);
if Assigned(lpItemId) then
begin
SHGetPathfromIDList(lpItemID, TempPath);
GlobalFreePtr(lpItemID);
Result := string(TempPath);
end
else
Ïà¹ØÎĵµ£º
1.ÏÂÔØJNativeµÄ°ü
JNative-1.3.2ÏÂÓÐÈý¸öÎļþ£ºJNativeCpp.dll£¬libJNativeCpp.so£¬JNative.jar¡£
JNativeCpp.dll¿½µ½windows/system32Ŀ¼ÏÂ
libJNativeCpp.soΪLinuxÖÐʹÓõÄÎļþ
JNative.jarÀ©Õ¹°ü¿½µ½%JAVA_HOME%\jre\lib\extÏ»òÕßµ¼Èëµ½¹¤³ÌÖÐ
2.JnativeÖÐʹÓõ½µÄһЩÀàºÍ·½·¨
org
.xvolks
.jnative
.Jnat ......
³£Íü¼Ç£¬ÔÚ´Ë×ö±Ê¼Ç¡£
Õ⼸¸öº¯Êý¶¼°üº¬ÔÚStrUtilsÖУ¬ËùÒÔÐèÒªuses StrUtils;
¼ÙÉè×Ö·û´®ÊÇ Dstr := ’Delphi is the BEST’, ÄÇô
LeftStr(Dstr, 5) := ’Delph’
MidStr(Dstr, 6, 7) := ’ ......
windows¼¸¸öÖØÒªµÄÄÚºËÊý¾Ý½á¹¹ËäÈ»ÍøÉÏÒ²ÓÐÏà¹ØµÄ¶¨Ò壬µ«¸öÈ˾õµÃ²»ÆëÈ«¶¨Òå²»¹æ·¶£¬Òò´ËÓÃÒ»Ììʱ¼äʹÓÃWinDbg+Win2000sourcecodeÖØÐ¶¨ÒåÁ˳£ÓõÄÄÚºËÊý¾Ý½á¹¹£¬²¢¾¡¿ÉÄÜ»¹Ô΢ÈíµÄԽṹ¶¨Ò壬ÿ¸ö½á¹¹¶¼µÝ¹éµ½×î×Ó²ãµÄ½á¹¹²¢ÇÒͨ¹ýÁ˲âÊÔ¡£Í¨¹ýÕâ´Î¹¤×÷¹ý³Ì²»½öʹ×Ô¼ºµÃµ½Ò»´ÎѧϰµÄ»ú»á£¬¶øÇÒÌá¸ßÁË×Ô¼ºµÄÕûÌåÈí¼þ¼Ü¹ ......
¶ÔÓÚÍøÂçÓÎÏ·À´Ëµ£¬ËüºÍµ¥»ú°æÓÎÏ·×î´óµÄÇø±ð¾ÍÔÚÓÚÍøÂçͨÐŲ¿·Ö¡£¿ÉÒÔ˵£¬ÍøÂçͨÐÅÊǹ¹³ÉÍøÓεÄ×î»ù±¾ÔªËØ¡£ÔÚÕâÀïÎÒ²»ÏëÏêϸµÄÂÛÊöÈçºÎʹÓÃDELPHIÔÚWINDOWSϽøÐÐÍøÂç±à³Ì£¬ÒòΪÕâÊÇÒ»¸ö·Ç³£¸´ÔӵϰÌâ¡£ÕâÀïÎÒÖ»ÊÇÏë˵Ã÷ÔÚÎÒÉè¼ÆµÄÆåÅÆÀàÓÎÏ·ÖÐÈçºÎʵÏÖÓÎÏ·ÍøÂ粿·ÖµÄ¡£
¶ÔÓÚWINDOWSÀ´Ëµ£¬ËüµÄͨÐÅÄ£ÐÍ´ó¸Å·ÖΪ5ÖÖ¡£·Ö± ......