原创 用WINSOCK API實現同步阻塞方式的網絡通訊

     在VB中進行網絡通訊時,一般都愛使用Winsock控件,但此控件有兩點缺點,一是需要一個窗口(當然也可以修改vbp文件,實現無窗口加載Winsock控件),二是通訊方式爲異步非阻塞的,對於某些基於應答式的協議來說,比如HTTP、

原创 由ActiveX DLL中的全局變量想到的...

    在使用VB6編寫類或控件時,有一個不如意的地方,那就是無法在屬性或函數中返回結構體。一般情況下,我們可以使用一個新的類來模擬結構體,比如有一個表格類,類名爲clsGrid,它包含一個行屬性Rows,而Rows又包含Height等

原创 Forms對象一個隱含的方法

    今天在回答一個貼子,要求是根據窗口名稱字符串顯示窗口,我新建了一個VB工程,添加了兩個Form,Form的名稱分別爲Form1和Form2,然後寫了以下代碼: Private Sub Form_Load() ShowFor

原创 用WINSOCK API實現同步非阻塞方式的網絡通訊

    前面寫了基於SELECT實現的同步阻塞方式的網絡通訊,本文將基於EVENT,用代碼描述實現同步非阻塞方式的網絡通訊。相對於同步阻塞方式來說,同步非阻塞方式可以讓更好地讓系統有時間處理一些其它動作,比如進度條繪製,雖然同步阻塞方式也

原创 用VB實現帶圖片的XP風格的按鈕控件

    雖然在VB裏實現XP風格很簡單,但是要使用XP風格同時又讓按鈕顯示圖片,則實現起來要麻煩一些,爲此,我寫了一個控件來實現前述功能,同時讓讀者可以從中瞭解XP主題界面的繪製過程。     使用辦法很簡單,在VB裏新建一個工程,然後添

原创 謹慎使用IsMissing函數

     在VB6中提供了一個很好用的函數叫IsMissing,可以用來判斷用戶是否對缺省參數賦值,比如有以下一個函數體:   Public Property Get Item(Optional ByRef Index As Intege

原创 如果這是夢

  與你相逢 就像流星劃過的夜空 無比燦爛 卻又無比短暫來去匆匆 歲月如風 吹散多少繁華多少的浮塵 一路落紅 掩埋多少柔情多少痛   如果這是夢 就讓年年歲歲夢和夢相同 如果夢會醒 就讓醒來依然看見你笑容 如果要離開 就讓山山水水都爲你等

原创 InterlockedIncrement和InterlockedDecrement的妙用

    一般來說,在多用戶線程環境中,我們使用臨界區、事件對象甚至互斥量來進行同步,尤其是臨界區,可以很方便地對某些變量甚至代碼塊進行鎖定執行,防止多線程之間資源惡性搶奪。既然如此,爲啥微軟又單獨提供了專用於一個數值鎖定計算的API函數I

原创 在VB中如何使IE窗口最大化

     衆所周知,IE窗口打開時是否最大化是由幾個方面的因素造成的,比如最後一個IE窗口的最大化狀態,或者註冊表中的設置項。但有的時候,由於用戶的IE窗口打開時並沒有處於最大化狀態,而程序設計人員又想使其處於最大化狀態,一般大家都會想到

原创 一個簡單的VB窗體類(修正版)

    又有一段時間沒更新博客了,恰好剛纔在寫代碼時,想起以前寫的一個VB窗體類的代碼,於是扒了出來: '* ************************************************** * '* 模塊名稱:MY

原创 歌詞:千年一夢

風 來去匆匆 關山萬重 不停留 雨 淅淅瀝瀝 如煙如縷 幾許愁 花 枝頭勃發 豔如朝霞 染紅袖 你 翩翩身影 盈盈笑語 入夢中 千年一夢 只爲與你相逢 相逢何必 曾相擁 千年之後 還爲與你相守 剎那芳華 亦永久   --閒瑕時,隨便哼哼,

原创 用VB實現兩幅圖片半透明疊加

    代碼很簡單,就不解釋了,演示VB如何實現兩幅圖片半透明疊加的效果。 Option Explicit Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal h

原创 VB如何讀取快捷方式的目標路徑

    一般情況下,在VB中讀取快捷方式的信息,大家首先考慮的是使用IShellLink接口,但這種方法需要下載或定義一個TLB文件,相對來說比較麻煩。     其實我們都知道可以使用WScript.Shell對象的CreateShort

原创 再談用VB無窗口透明Usercontrol編寫透明浮動按鈕

    去年曾寫過一篇博文,名稱叫《用VB無窗口透明Usercontrol編寫透明浮動按鈕》,該文有一個觀點是錯誤的,即透明無窗口Usercontrol不支持設計時點選。其實,通過在UserControl_HitTest過程里加入HitR

原创 VBS獲得外網IP併發送到指定郵箱

    放假了,手頭還有些工作要做,又不願去辦公室,於是開啓了遠程桌面,但又怕網絡掉線重連後IP變了,所以編寫了這個VBS腳本程序。這個程序主要實現了獲得本地外網地址(如果有路由器,則爲路由器外網地址)、自動下載並註冊MSWinsck.o