Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Error: 204: ctl: Specified parent window doesn't exist
WIL Extender Error: 204: ctl: Specified parent window doesn't exist lbWnd=cWndbyID(cfghwnd,2012)I already ran the window analysis script to get the Class=SysListView32 identifier 2012 (which should be the NT listbox).
The screen is there already... as I am running in debug mode - thus this is not an issue. I have modified the Win95 code to try to get it to run on NT4... but the online help for CTLMGR does not give good enough help for describing Sequence/Control ID's etc... Suggestions?
AddExtender("wwctl34I.dll") Run("rundll32.exe", "shell32.dll,Control_RunDLL ncpa.cpl") netwnd=DllHwnd("Network") srvhwnd=cWndByName(netwnd,"Services") lbWnd=cWndbyID(srvhwnd,2012) response=cGetLBText(lbwnd) response=strreplace(response,@tab,@crlf) Message("Response",response) exit
The problem is that NT puts up a slightly different dialog and "SERVICES" is not open by default and control 2012 is simply not there.
Here's a revised script. It requires that you select the services tab *before* trying anything with it. (Win95 opens on services...)
AddExtender("wwctl34I.dll") Run("rundll32.exe", "shell32.dll,Control_RunDLL ncpa.cpl") netwnd=DllHwnd("Network") systabwnd=cWndByClass(netwnd,"SysTabControl32") cSetTabItem(systabwnd,2) srvhwnd=cWndByName(netwnd,"Services") lbWnd=cWndbyID(srvhwnd,2012) response=cGetLBText(lbwnd) response=strreplace(response,@tab,@crlf) Message("Response",response) exitThe problem revolves around the fact that the various controls in tabbed dialogs often simply do not exist until the tab is selected, then Windows brings the controls into existence. So now that the script opens the desired tab, it works.
I had gotten this far:
Debug(@ON) AddExtender("wwctl34I.dll") Run("rundll32.exe", "shell32.dll,Control_RunDLL ncpa.cpl") netwnd=DllHwnd("Network") systabwnd=cWndByClass(netwnd,"SysTabControl32") cSetTabItem(systabwnd,2) srvhwnd=cWndByName(netwnd,"Services") lbWnd=cWndbyClass(srvhwnd,"SysListView32") response=cGetLBText(lbWnd) response=strreplace(response,@tab,@crlf) Message("Response",response) exitThe above code and your example get the same results = *EMPTY* for the contents of the List Box.
Any ideas? Thanks for your help...
What are the alternatives?
On an NT machine I need to a]Launch Control Panel-Network-Services, b]See if a specific Service is installed and if it is c] remove it.
Ideas? Thanks.
Changing the registy and rebooting often works for alots of cases. You have to be careful though - editing the registry is not as easy as it might seem. The network stuff shifts around a little. Watch out for keys like 0000 0001 0002 0003 They shift a lot.
The Win95 and Win NT network control panels use different types of controls. NT uses the harder ones.
The 95/NT dicotomy is not completely relevent here. It just so happens that NT network setup was implemented differently from Windows 95 network setup and uses controls not currently supported by the Control Manager extender.
These same controls exist in Windows 95 and we cannot control them there either. The problem is that Control Manager extender does not support the SysListView and SysTreeView types of controls.
netwnd=DllHwnd("Select Network Component Type")I did not get a value for this.
I am trying to automate as much as I can the 95 installation process. I am working on a 95 image and all of the software is installed in the 95 workstatiion and my program will add the shortcuts to the desktop. I only have two programs that I will need to add network components to and I want to add the shortcut as well as the network component.
Help!
Article ID: W12517
Filename: Selecting Control Panel Network Services Tab.txt
File Created: 2001:03:02:14:38:28
Last Updated: 2001:03:02:14:38:28