青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

如何實現ocx控件的注冊

Posted on 2009-09-03 22:05 S.l.e!ep.¢% 閱讀(1162) 評論(0)  編輯 收藏 引用 所屬分類: InstallShield
為了擴展應用程序的功能,許多系統都使用了或多或少的activex控件,這些控件必須在系統中注冊后才能夠使用。所以分發powerbuilder應用程序時,必須將系統所使用到的這些activex控件一起分發到用戶所使用的計算機上,并且注冊它們,只有這樣系統才能繼續使用這些控件。

  本文將提供三種實現方案,供讀者選擇使用。


  方法一:在installshield中使用程序對控件進行注冊


  installshield提供了一套編程語言,語法規則與c++語言非常類似,使用很容易掌握。選中“scripts”頁,你就可以看到安裝程序實際執行的源代碼,通過添加代碼可以實現許多功能。要注冊控件必須先將控件所需文件拷貝到目標計算機上,所以必須選擇適當的位置添加注冊語句。setupregistry()函數就是在文件復制完畢后進行系統注冊的地方,所以在這里注冊控件最合適。

  function setupregistry()

   number nrootkey, nresult;

   string szprogram, szcmdline, szmsg;

   string szhkey;

   string szkey, szclass, sznumname, sznumvalue;

  begin

   nresult = createregistryset( ″″ );

  //注冊程序中用到的ocx控件

  szprogram = ″regsvr32 /s″;

  //假設我們將myocx.ocx文件復制到〈commonfiles〉\my shared下

  szcmdline = commonfiles^″\\my shared\\myocx.ocx″;

  //給執行文件路徑加上
引號

  longpathtoquote (szcmdline, true);

  //執行生成的命令:例如regsvr32 /s ″c:\ program files\common files\my shared″。

   if (
launchappandwait(szprogram, szcmdline, wait) 〈 0) then

   messagebox(″myanimatex 控件注冊失敗!″, severe);

  endif;

  return nresult;

  end;


  方法二:用注冊表的方法實現


  大家知道,一般安裝程序結束后,為了使系統可以運行,經常需要重新啟動計算機,這是由于安裝程序修改了注冊表或者一些系統文件(autoexec.bat等),必須重新啟動才能生效。注冊表中有這樣一個主鍵,專門用于存放一些只運行一次的程序,存放在這里的一些執行命令只是在windows系統啟動時運行一次,之后便被清空,所以取名為runonce:


  hkey—local—machine\software\microsoft\windows\currentversion\runonce,所以我們可以在installshield中的注冊表編輯器中在該主鍵下添加要執行的代碼,來完成控件的注冊,如上圖所示。

  注意,此方法必須保證安裝程序彈出“是否重新啟動計算機”的對話框,這樣才能保證用戶知道必須重啟后才能正常使用本系統。


  方法三:在pb程序中實現


  安裝程序只需負責將ocx拷貝到相應路徑下,pb程序必須可以得到這個路徑,建議拷貝到windows系統目錄或者與執行文件同目錄下。

  具體代碼:

  //首先定義api函數,如果ocx控件在與執行文件同目錄下,使用getcurrentdirectory函數;如果ocx控件放在系統目錄下,使用getsystemdirectory函數。

  function ulong getcurrentdirectory(ulong nbufferlength,ref string lpbuffer) library ″kernel32.dll″ alias for ″getcurrentdirectorya″

  function uint getsystemdirectory(ref string lpbuffer,uint usize) library ″kernel32.dll″ alias for ″getsystemdirectorya″

  //在pb應用(application)的open事件,假設ocx控件在windows系統目錄下。

  string ls—pathname,ls—command

  ulong ll—requiredbuffersize

  ls—pathname = space(255)

  ll—requiredbuffersize = getsystemdirectory(ls—pathname,255)

  

  if ll—requiredbuffersize=0 or ll—requiredbuffersize〉255 then

  //報錯信息

  else

  ls—command = ″regsvr32 /s ″ + ″~″″ + ls—pathname + ″\myocx.ocx″ + ″~″″

   run (ls—command)

  …

  end if

  regsvr32后面的“/s”執行參數是為了隱藏注冊成功消息框。


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲乱码视频| 欧美日韩免费一区| 免费久久99精品国产自| 久久gogo国模啪啪人体图| 亚洲伊人网站| 欧美一区二区三区视频在线 | 国产精品进线69影院| 欧美视频在线观看免费| 国产伦一区二区三区色一情| 国产视频在线观看一区| 伊人激情综合| 日韩一级大片在线| 小黄鸭精品密入口导航| 久久天堂国产精品| 亚洲欧洲日本专区| 在线中文字幕日韩| 欧美一区二区日韩一区二区| 久久在线免费观看视频| 欧美日韩免费观看一区| 国内外成人在线| 一区二区三区日韩| 久久久久国产精品一区| 亚洲黄色片网站| 欧美中文字幕第一页| 欧美日本不卡| 雨宫琴音一区二区在线| 一区二区三区精品在线| 久久中文字幕导航| 国产精品99久久久久久久久| 久久久久久高潮国产精品视| 欧美日韩在线精品| 亚洲电影欧美电影有声小说| 午夜精品网站| 99re8这里有精品热视频免费| 久久精品中文| 国产精品自在线| 一区二区欧美在线| 欧美激情视频在线免费观看 欧美视频免费一 | 国内精品久久久久久久影视蜜臀 | 麻豆国产va免费精品高清在线| 欧美美女喷水视频| 怡红院精品视频| 久久成人精品视频| 在线亚洲一区二区| 欧美日韩国产首页| 亚洲精品在线三区| 欧美成人精品1314www| 欧美亚洲综合在线| 国产精品视频一区二区三区 | 噜噜噜噜噜久久久久久91| 在线视频欧美日韩精品| 欧美xart系列高清| 亚洲精品久久嫩草网站秘色| 欧美mv日韩mv亚洲| 久久综合狠狠综合久久综合88| 国产视频一区在线观看一区免费| 亚洲一区视频在线| 日韩亚洲欧美精品| 欧美日一区二区三区在线观看国产免| 亚洲精品偷拍| 91久久久国产精品| 欧美日本不卡高清| 亚洲制服av| 亚洲欧美日韩精品在线| 国产日本欧美视频| 久久综合激情| 男男成人高潮片免费网站| 亚洲欧洲精品成人久久奇米网| 亚洲高清三级视频| 欧美日韩一区二区在线观看| 亚洲一二三区在线| 亚洲欧美日韩视频一区| 国产日韩欧美一区二区| 久久国产视频网站| 久久午夜色播影院免费高清| 亚洲国产日本| 99天天综合性| 国产亚洲制服色| 欧美黄网免费在线观看| 欧美理论在线播放| 久久丁香综合五月国产三级网站| 久久久免费精品视频| 亚洲欧洲综合| 国产精品99久久久久久久久久久久| 国产精品亚洲欧美| 免费观看不卡av| 欧美日韩一卡二卡| 久久久久亚洲综合| 欧美日韩国产色站一区二区三区| 欧美亚洲日本网站| 母乳一区在线观看| 欧美在线视频不卡| 欧美精品91| 久久久噜久噜久久综合| 亚洲精品国偷自产在线99热| 亚洲二区免费| 午夜精品福利视频| 亚洲高清视频在线| 一区二区三区不卡视频在线观看| 国产啪精品视频| 亚洲国内自拍| 国产综合色在线| 亚洲美女黄网| 在线色欧美三级视频| 一区二区精品在线| 亚洲第一福利社区| 亚洲欧美另类中文字幕| 91久久国产综合久久| 亚洲一区日韩在线| 9l视频自拍蝌蚪9l视频成人 | 免费91麻豆精品国产自产在线观看| 在线中文字幕不卡| 久久久美女艺术照精彩视频福利播放| 亚洲午夜影视影院在线观看| 久久亚洲精选| 久久国产乱子精品免费女| 欧美另类一区| 欧美成人在线免费视频| 国产欧美日韩精品专区| 99这里只有久久精品视频| 亚洲国产第一页| 欧美中文日韩| 久久精品一区二区三区四区| 国产精品男女猛烈高潮激情| 亚洲精品久久7777| 亚洲三级性片| 女主播福利一区| 亚洲成人在线网站| 亚洲电影观看| 另类亚洲自拍| 欧美激情一区| 亚洲理论电影网| 欧美成人一区二区在线| 欧美成人一二三| 最新高清无码专区| 牛夜精品久久久久久久99黑人| 久热re这里精品视频在线6| 国产午夜精品麻豆| 欧美一区二区免费| 久久综合九色综合网站| 精品88久久久久88久久久| 久久国产直播| 免费高清在线视频一区·| 伊人精品视频| 欧美国产日韩一区二区在线观看| 亚洲第一狼人社区| av成人动漫| 国产精品av久久久久久麻豆网| 99国产精品国产精品久久 | 欧美电影专区| 日韩图片一区| 国产精品高清在线| 午夜天堂精品久久久久| 久久视频在线免费观看| 亚洲缚视频在线观看| 欧美成人影音| 亚洲一区二区网站| 麻豆国产精品777777在线| 亚洲国内欧美| 国产精品乱人伦一区二区| 久久精品在线播放| 在线观看视频一区二区| 国产亚洲美州欧州综合国| 亚洲免费一在线| 老司机精品久久| 一本久道久久久| 国产欧美日本一区视频| 久久人人爽人人爽| 夜夜夜久久久| 久久在线精品| 亚洲视频每日更新| 国内精品久久久久久影视8| 欧美电影免费观看高清完整版| 亚洲一区二区毛片| 欧美xx视频| 欧美一区二区福利在线| 亚洲国产欧美一区二区三区久久| 国产精品久久久一区麻豆最新章节 | 欧美激情国产日韩| 亚洲欧美乱综合| 亚洲国产日韩一区二区| 国产精品毛片大码女人| 欧美国产日本| 久久精品首页| 亚洲图中文字幕| 亚洲欧洲精品一区二区精品久久久| 欧美在线视频播放| 亚洲一区二区av电影| 亚洲国产精品一区二区三区| 国产欧美精品va在线观看| 欧美激情一区二区三区蜜桃视频 | 亚洲精品国产视频| 蜜桃av综合| 久久精品一区蜜桃臀影院| 亚洲一区二区成人在线观看| 亚洲黄色三级| 在线日韩电影| 狠狠色丁香婷婷综合久久片| 国产精品乱码一区二区三区| 欧美日韩国产成人|