O que é uma API?API, é o acrônimo, sim, mais prá nossa coleção, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades através de aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.De modo geral, a API é composta por uma série de funções acessíveis somente por programação, as quais nos permitem utilizarmos características de software menos evidentes aos programadores mais tradicionais.Por exemplo, um sistema operacional possui uma grande quantidade de funções na API, que permitem ao programador criar janelas, acessar arquivos, criptografar dados etc. Mas as APIs dos sistemas operacionais costumam ser dissociadas de tarefas mais essenciais, como a manipulação de blocos de memória e acesso a dispositivos. Essas tarefas são atributos do núcleo (kernel) de sistema e raramente são programáveis. Outro exemplo são os programas de desenho geométrico que possuem uma API específica para criar automaticamente entidades de acordo com padrões definidos pelo utilizador.Mais recentemente, o uso de API tem se generalizado nos plugins (acessórios que complementam a funcionalidade de um programa). Os autores do programa principal fornecem uma API específica para que outros autores criem plugins, estendendo as funcionalidades do programa.
Function ShowMaximizeButton (UF As MSForms.UserForm, _HideButton As Boolean) As Boolean
'' ShowMaximizeButton' Mostra (Se HideButton estiver como False) ou esconde (Se HideButton estiver como True)' O botão de maximizar da janela.'Dim UFHWnd As LongDim WinInfo As LongDim R As LongLet UFHWnd = HWndOfUserForm (UF)If UFHWnd = 0 ThenLet ShowMaximizeButton = FalseExit FunctionEnd IfLet WinInfo = GetWindowLong (UFHWnd, GWL_STYLE)If HideButton = False ThenLet WinInfo = WinInfo Or WS_MAXIMIZEBOXElseLet WinInfo = WinInfo And (Not WS_MAXIMIZEBOX)End IfLet R = SetWindowLong (UFHWnd, GWL_STYLE, WinInfo)Let ShowMaximizeButton = (R <> 0)
End Function
Function ShowMinimizeButton (UF As MSForms.UserForm, _HideButton As Boolean) As BooleanDim UFHWnd As LongDim WinInfo As LongDim R As LongLet UFHWnd = HWndOfUserForm (UF)If UFHWnd = 0 ThenLet ShowMinimizeButton = FalseExit FunctionEnd IfLet WinInfo = GetWindowLong (UFHWnd, GWL_STYLE)If HideButton = False ThenLet WinInfo = WinInfo Or WS_MINIMIZEBOXElseLet WinInfo = WinInfo And (Not WS_MINIMIZEBOX)End IfLet R = SetWindowLong (UFHWnd, GWL_STYLE, WinInfo)Let ShowMinimizeButton = (R <> 0)End Function
Function HWndOfUserForm (UF As MSForms.UserForm) As Long
' HWndOfUserForm' This returns the window handle (HWnd) of the userform referenced' by UF. It first looks for a top-level window, then a child' of the Application window, then a child of the ActiveWindow.Dim AppHWnd As LongDim DeskHWnd As LongDim WinHWnd As LongDim UFHWnd As LongDim Cap As StringDim WindowCap As StringLet Cap = UF.Caption' First, look in top level windowsLet UFHWnd = FindWindow (C_USERFORM_CLASSNAME, Cap)If UFHWnd <> 0 ThenLet HWndOfUserForm = UFHWndExit FunctionEnd If' Not a top level window. Search for child of application.Let AppHWnd = Application.hwndLet UFHWnd = FindWindowEx (AppHWnd, 0&,C_USERFORM_CLASSNAME, Cap)If UFHWnd <> 0 ThenLet HWndOfUserForm = UFHWndExit FunctionEnd If' Not a child of the application.' Search for child of ActiveWindow (Excel's ActiveWindow, not' Window's ActiveWindow).If Application.ActiveWindow Is Nothing ThenLet HWndOfUserForm = 0Exit FunctionEnd IfLet WinHWnd = WindowHWnd (Application.ActiveWindow)Let UFHWnd = FindWindowEx (WinHWnd, 0&, C_USERFORM_CLASSNAME, Cap)Let HWndOfUserForm = UFHWnd
End Function












