Stuart McLachlan
stuart at lexacorp.com.pg
Mon May 23 14:06:04 CDT 2011
He used Spy++. It is one of a number of similar utilities that let you get all the info about any Windows control by hovering over it or clicking on it. AutoIt comes with a similar tool called AutoInfo. -- Stuart On 23 May 2011 at 9:49, jwcolby wrote: > What I want to know is how does he figure out the name of the objects? > for example... > > ' Get hWnd for Password Edit control in Project Properties > dialog hWndPassword = GetDlgItem(hWndProjectProperties, > ControlIDPassword) > > > How does he discover that ControlIDPassword is the name of an object > > The following is the business end of manipulating the dialog to cause > it to go to the correct tab, enter data into the password boxers and > clicking the button. > > ' Get hWnd for OK button in Project Properties dialog > hWndOK = GetDlgItem(hWndProjectProperties, ControlIDOK) > ' Get hWnd for Tab Control in Project Properties dialog > hWndSysTabControl32 = GetDlgItem(hWndProjectProperties, > ControlIDSysTabControl32) > > 'Move to Protection tab > SendMessage hWndSysTabControl32, TCM_SETCURFOCUS, 1, ByVal 0& > > ' Must reset hWndProjectProperties probably because tab > changed. EnumChildWindows ByVal hWndProjectProperties, > AddressOf EnumChildProc, ByVal 0 > > ' Get hWnd for Password Edit control in Project Properties > dialog hWndPassword = GetDlgItem(hWndProjectProperties, > ControlIDPassword) ' Get hWnd for Confirm Password Edit > control in Project Properties dialog hWndConfirmPassword = > GetDlgItem(hWndProjectProperties, ControlIDConfirmPassword) ' > Get hWnd for Lock Project checkbox control in Project > Properties dialog hWndLockProject = > GetDlgItem(hWndProjectProperties, ControlIDLockProject) > > ' Lock project for &viewing > SendMessage hWndLockProject, BM_SETCHECK, BST_CHECKED, 0 > > ' &Password > SendMessage hWndPassword, EM_REPLACESEL, vbTrue, ByVal > strPassword > > ' &Confirm password > SendMessage hWndConfirmPassword, EM_REPLACESEL, vbTrue, ByVal > strPassword > > > John W. Colby > www.ColbyConsulting.com > > On 5/23/2011 9:22 AM, jwcolby wrote: > > I am hot on the trail for code to do this. > > > > http://www.standards.com/Office/SetVBAProjectPassword.html > > > > It requires manipulating windows to get the dialog as it pops up and > > then pushing data to that and clicking on things in the dialog. > > Actually cool stuff to know. > > > > John W. Colby > > www.ColbyConsulting.com > > > > On 5/23/2011 12:12 AM, Stuart McLachlan wrote: > >> I don't think so. I've never come across anything that can do that, > >> > >> The actual Password can be *changed* from an external application. > >> I have a "cracker" application which does exactly that > >> > >> http://www.systoolsgroup.com/vba-password-remover.html. > >> > >> It doesn't "remove" VBA passwords, it resets them to a standard > >> password (possibly just be writing a different hash value somewhere > >> in the .mdb) so that you can go in and unset it yourself after > >> entering the new password. Based on the fact that similar utilities > >> work in the same way, I'd guess that setting/unsetting a PW is a > >> far more difficult task. > >> > >> > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >