熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

Win32 API 與PB編程[2]

2022-06-13   來源: PB編程 

   控制由Run運行的程序(簡稱Run程序)

  在PB程序設計中可以用Run()來運行一些程序但Run程序無法與PB主程序協調工作若用戶多次調用就會啟動Run程序的多個實例主程序退出時Run程序依然運行可以用如下函數使它們協調工作

  Function Ulong FindWindowA(Ulong classname String windowname) Library userdll

  Function Long SetParent(Long childwin Long parentwin) Library userdll

  ) 使Run程序只運行一個實例

  handle = FindWindowsA(nulwtitle)

  //查找Run程序是否已經運行wtitle為Run程序的窗口標題

  If handle > Then Return

  //若已經在運行就返回

  Run(c:\luhanchm

  //否則運行Run程序

  ) PB主程序退出時Run程序也關閉

  Handle = FindWindowA(nulwtitle)

  SetParent(handleHandle(w_main))

  //使Run程序窗口成為PB主程序的子窗口

   映射網絡驅動器

  若要在程序中把遠程主機的資源映射到本地驅動器可以用如下函數

  Function Long WNetAddConnectionA(String path String pwd String drv) Library mprdll

  如下代碼可以把遠程主機Alexander上的共享文件夾My Documents映射到本地的J 盤

  WnetAddConnectionA(\\ Alexander\ My DocumentsJ:) //參數為訪問口令

  它的作用相當於在DOS提示符下執行Net Use J: \\ Alexander\ My Documents

   顯示或隱藏Windows的任務欄

  要顯示或隱藏任務欄首先要得到它的窗口句柄任務欄是一個特殊的窗口它的窗口類為Shell_TrayWnd沒有標題故只能用FindWindowEx函數來取得它的句柄

  Function Long FindWindowEx(Long ph Long ch ref String cn ref

  String wn) Library userdll

  Function Long ShowWindow(Long hWnd Long nCmdShow) Library userdll

  用ShowWindow來顯示或隱藏窗口其第二個參數為表示隱藏表示顯示

  handle = FindWindowEx( Shell_TrayWndwn) //wn為空串

  ShowWindow(handle) //隱藏任務欄

   如何將長文件名轉換為短文件名

  通過GetShortPathName函數可以把上文件名轉換為格式其聲明為

  Function Long GetShortPathNameA(String lf ref String sf Long

  buflen)

  Library kerneldll

  參數為長文件名參數為保存短文件名的緩沖區參數為緩沖區長度例如

  GetShortPathNameA(C:\My Document\Powerbuilder編程實踐Docsf

  \

  //sf = Spcace(

   如何在PB中實現延時

  延時函數很有用PB雖然沒有提供但可以通過Wind的Sleep函數來擴展

  Function Long Sleep(Long ms) Library kerneldll

  調用Sleep() //延時

   如何在PB中播放音樂

  PB沒有提供任何多媒體函數要播放音樂只能通過Win API的PlaySound來實現

  Function Long PlaySound(String Filename Int Mod Int Flags) Library

   winmmdll

  參數為wav文件名參數必須取參數表示後台播放表示循環播放因此取(=+)表示在後台循環播放

       編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

[]  []  


From:http://tw.wingwit.com/Article/program/PB/201311/24635.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.