|
D2KWUTIL.PLL需加载到附加程序库再编译
Win_Api_Environment.Read_Registry
就不會報錯了
/*过程参数说明:
v_application ——打开文件的应用程序
v_file_path ——带详细路径的文件名
*/
PROCEDURE p_open_file(v_application VARCHAR2 , v_file_path VARCHAR2) IS
v_app_id PLS_INTEGER;
v_application_path VARCHAR2(200); --应用程路径
v_end_char VARCHAR2(1);
BEGIN
--读注册表获取应用程序路径
v_application_path := Win_Api_Environment.Read_Registry('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\'||v_application,'Path');
--为做到打开文件的统一性,对应用程序路径做相应处理
v_end_char :=SUBSTR(v_application_path , LENGTH(v_application_path));
IF v_end_char = ';' OR v_end_char = '\' THEN
v_application_path := SUBSTR(v_application_path , 1 ,LENGTH(v_application_path)-1);
END IF;
--打开文件
--注意:dde.app_begin()函数的第一个参数格式为:应用程序路径 + 空格 + 文件名(含路径)
-- 由此为使文件名中含空格或桌面上的文件也能被打开,我们需给文件名加上双引号
v_app_id :=dde.app_begin(v_application_path||'\'||v_application||' '||'"'||v_file_path||'"' ,dde.app_mode_maximized);
--将光标定位到打开的文件中
dde.app_focus(v_app_id);
EXCEPTION WHEN OTHERS THEN
MESSAGE |
|