GetProp和SetProp不使用字符串设置Window Props的简便方法

MSDN说SetProp的lpString可以是一个Atom,一个Atom的长度是0~65535,也就是我们其实可以用一个在65535之间的word值传给lpString,这样使用SetPropA和SetPropW之类的效率就没啥差别了,Prop函数不会操作你发过去的word值到底是不是一个Atom,所以也免去了字符串的ANSI到UNICODE的转换,查询的时候也快。

比如uxtheme就这样用的 = =

这是GetProp函数头部,判断lpString参数是不是一个Atom(高位为0)

Private Declare Function SetPropA& Lib "user32" (ByVal hWnd&, ByVal lpString&, ByVal hData&)
Private Declare Function GetPropA& Lib "user32" (ByVal hWnd&, ByVal lpString&)
Private Sub Form_Load()
Me.Caption = SetPropA(Me.hWnd, 100, 123)
MsgBox GetPropA(Me.hWnd, 100)
End Sub


你可能感兴趣的:(function,user)