本帖最后由 作者 于 2007-8-22 11:12:40 编辑
;;利用LSP打开网页的几种方法 ;;利用 command,这种方法简单,但不可以用在打开对话框的情况下 (command "browser" "http://civilworker.com/wltools/") ;;利用 "Microsoft.XMLHTTP",这种方法可以在隐藏窗口的情况下和网站联系,但可以被防火墙拦截 (VL-LOAD-COM) (if (setq XMLHTTP (vlax-create-object "Microsoft.XMLHTTP")) (progn (vlax-method-applicable-p XMLHTTP "open") (vlax-method-applicable-p XMLHTTP "send") (vlax-invoke-method XMLHTTP "open" "POST" (strcat server msg) t nil nil) (vlax-invoke-method XMLHTTP "send" "") (setq timemark (getvar "date")) (while (and (/= 4 (setq ck (vlax-get-property XMLHTTP "readyState"))) (< (* 86400.0 (- (getvar "date") timemark)) 2) ) ) (setq ret (if (= ck 4) (vlax-get-property XMLHTTP "responseText") "" ) ) (vlax-release-object XMLHTTP) ) (setq ret "") ) ;;利用 "Shell.Application",这种方法比较简单,可以用在打开对话框的情况下 ;;对话框里建议用这个办法 (VL-LOAD-COM) (SETQ shell (VLAX-CREATE-OBJECT "Shell.Application")) (VLAX-INVOKE shell "OPEN" "http://stramodel.com") (VLAX-RELEASE-OBJECT shell)
;;利用"internetexplorer.application",可应控制更多信息,可以和网页交互信息,功能强大 ;;这个是利用explorer做对话框的程序 (VL-LOAD-COM) (if (SETQ OBJW (VLAX-CREATE-OBJECT "internetexplorer.application")) (progn (setq width 400 height 300 fullscreen 0 ) (vlax-put-property OBJW "fullscreen" fullscreen) (vlax-put-property OBJW "statusbar" "0") (vlax-put-property OBJW "width" width) (vlax-put-property OBJW "height" height) (vlax-invoke-method OBJW "navigate" "about:blank");可以在此直接输入网址或用下面办法写网页内容 (setq ie-doc-obj (vlax-get-property OBJW "document")) (setq ie-window-obj (vlax-get-property ie-doc-obj "parentwindow")) (setq ie-screen-obj (vlax-get-property ie-window-obj "screen")) (vlax-put-property OBJW "left" (/ (- (vlax-get-property ie-screen-obj "availwidth") width) 2)) (vlax-put-property OBJW "top" (/ (- (vlax-get-property ie-screen-obj "availheight") height 20) 2)) (setq htm (list "<html>\n" "<head>\n" "<title>Wl-tools制图工具密码计算器</title>\n" "</head>\n" "<body align=\"middle\" topmargin=\"20\" leftmargin=\"0\" bgcolor=\"#d0d0d0\" scroll=no>\n" "<FORM name=form1 method=post>\n" "<INPUT type=hidden value=\"0\" name=constate>\n" "<p align=center>Wl-tools制图工具密码计算器\n" "<p align=center>*******\n" "<p align=center>机器信息码:<input name=\"Hwword\" maxlength=\"27\" size=\"20\"\">\n" "<p align=center>程序注册码:<input name=\"Psword\" maxlength=\"27\" size=\"20\"\">\n" "<p align=center><input id=confirm type=button value=\" 计 算 \" class=size2 onclick=\"javascript:ModConstate('-1')\">" " <input id=confirm type=button value=\" 退 出 \" class=size2 onclick=\"javascript:ModConstate('1')\"> </p>\n" "</FORM>\n" "</body>\n" "</html>\n" "<SCRIPT language=javascript>\n" "function ModConstate(s) {\n" "document.form1.constate.value = s;\n" "}\n" "</SCRIPT>\n" ) ) (foreach str htm (vlax-invoke-method ie-doc-obj "write" str "")) (vlax-put-property OBJW "addressbar" "0") (vlax-put-property OBJW "menubar" 0) (vlax-put-property OBJW "visible" "1") (vlax-put-property OBJW "toolbar" "0") (while (/= (setq str (vlax-get-property (vlax-invoke-method (vlax-get-property ie-doc-obj "all") "namedItem" "constate") "value" ) ) "1" ) (if (= str "-1") (progn (vlax-put-property (vlax-invoke-method (vlax-get-property ie-doc-obj "all") "namedItem" "constate") "value" "0" ) (setq Hwword (vlax-get-property (vlax-invoke-method (vlax-get-property ie-doc-obj "all") "namedItem" "Hwword") "value" ) ) (setq Hwword (vl-string-trim " " Hwword)) (setq Psword "无此试用权限") (cond ((< (strlen Hwword) 17) (setq Psword "机器信息码有效位数不足")) (T ;计算过程 ) ) (vlax-put-property (vlax-invoke-method (vlax-get-property ie-doc-obj "all") "namedItem" "Psword") "value" Psword ) ) ) (command "delay" 200) ) (vlax-invoke-method OBJW "quit") (vlax-release-object ie-screen-obj) (vlax-release-object ie-window-obj) (vlax-release-object ie-doc-obj) (vlax-release-object OBJW) ) (alert "internetexplorer 不正确") )
|