
gingerbloke
Active Members-
Posts
32 -
Joined
-
Last visited
Everything posted by gingerbloke
-
All fair points and taken on-board. I left my system checking with your program last night and just have a few things to report: 1- It got stuck in a 'ChkDsk' & 'PageDefrag' loop and kept re-starting even though it had completed the scans. May be my system but not checked this out yet. 2- It appears to have de-activated Antivir on re-start. 3- Reset some of the 'Spyware Doctor' settings including turning off IntelliGuard Have you considered an option 'tab' to list all the 'startup' items so that the user can disable specific or all startup items. It might also be an option to do this for non-default services also I do appreciate this could cause problems but as an 'All Else Failed' option it could help a lot of people? Other than that, I see now that you already had the things I suggested already included. Gingerbloke
-
Great program, it is running on my system at the moment as a test. Could I also suggest the following: 1> 'PageDefrag' to defragment system files (page file, registry Hive etc..) at startup using syntax: "c:\filepath\PageDefrag\pagedfrg" -o 2> Advanced Windows Care - I use the Beta Version for system maintenance using the syntax: "c:\Program Files\IObit\Advanced WindowsCare V2\AutoCare.exe" /care I also use AntiVir Free using the following syntax: "c:\Program Files\Avira\AntiVir Desktop\update.exe" /DM="0" "/NOMESSAGEBOX" ;To update the program "c:\Program Files\Avira\AntiVir Desktop\avscan.exe" /CFG="c:\program files\avira\antivir desktop\sysscan.avp" ;To run full scan It may already do it (have not fully looked at the code yet) but a drive scan to delete 'junk files' such as .tmp, ~*.* etc would also be useful and a good compliment to CCleaner. Once again great program Gingerbloke
-
This one turned out to be an 'addon' for Windows Messenger that my kids use. It instaled itself as a service to allow itself to keep going whilst the system was running. I had to trace it back from the process starting up the hidden internet explorer programs. My next project I think will be to monitor (using the process tree) processes trying to run from temp files or temporary internet whilst online and kill them. Gingerbloke
-
trancexx At the time yes, but you have taught me a good lesson about links: "Click Everywhere Just In Case". See, the saying that you learn something new everyday is correct! Since my last post, the word came to mind 'Treeview' so I searched on that and found how to get parent, grandparent and all the way back to 'Great Uncle Bulgaria' (the wombles for anyone that does not know) Here is the link if anyone wants it: <Click Here> I have just found that it is a program running as a service so I will disable it and see if that works. I will checkout your links as well so thanks for your help Gingerbloke
-
Got you know, I am not used to links via pictures etc... so missed it. The program works great but did not solve my issue. I will explain: I was hoping to see which programs were accessing the internet because I keep getting popups that no virus or malware scanners detect (Antivir,Spybot, Spyware Doctor, Adaware, A-squared). Unfortunately, I am only seeing 2 internet explorer programs that are hidden and when I try and kill the process they just keep starting up again. Does anyone know how to get the 'parent' program that tells another program to run? For example, if I had an Autoit program open 'Notepad', is there a way to identify that my Autoit program started a particular instance of Notepad? I have checked the startup locations and nothing is extra to what I would expect so I need to find what is causing me the issue. Sorry to go the long way round but I was hoping that my original request would give the answer. If you think this would be better asked as a new topic then please say. Gingerbloke
-
I had to find the script again but here is a modified one: #include <GUIConstants.au3> #include <WindowsConstants.au3> GUICreate("Based on Lod3n's Bandwidth Monitor:",220,100,0,0,-1,$WS_EX_TOOLWINDOW) $label1 = GUICtrlCreateLabel ( "Waiting for data...", 10, 5,200,20) $label2 = GUICtrlCreateLabel ( "Waiting for data...", 10, 50,200,20) GUISetState () $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") while 1 $colItems = $objWMIService.ExecQuery("SELECT BytesReceivedPersec,BytesSentPersec FROM Win32_PerfRawData_Tcpip_NetworkInterface", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems ToolTip($objItem.Name, 0, 0) ; sleep (1000) ; If $objItem.Name = "ADAPTER NAME HERE" Then ;MUST PUT ADAPTER NAME HERE $in = $objItem.BytesReceivedPersec $out = $objItem.BytesSentPersec $intext = "Bytes In: " & $in & @CRLF $outtext = "Bytes Out: " & $out [email="&@CRLF"]&@CRLF[/email] GUICtrlSetData ($label1,$intext) GUICtrlSetData ($label2,$outtext) ; EndIf Next EndIf sleep(100) If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop WEnd Her is the link to the original program: <Click Here> Hope this helps Gingerbloke
-
Need help with Children internet control
gingerbloke replied to Borje's topic in AutoIt General Help and Support
Good points, I am used to using English configurations and to be honest, I have no idea what sort of changes other language settings have on a system (other than keyboard layout, times etc). All I can suggest is checking the Devcon syntax for your particular systems setup. Regarding WMI, most systems I have come across allow it and luckily, on this occassion, the system was OK with it. I do not have a script for checking the network without using WMI. Borje, It may help if you can check the devcon commands for your language settings and if possible, adjust the command accordingly. Sorry I cannot help with this but I just went to the Swedish language site for Microsoft and sorry to say, I do not understand the language Please let me know if you find out that the command is different. All the best Gingerbloke -
Need help with Children internet control
gingerbloke replied to Borje's topic in AutoIt General Help and Support
Borje, I have tried the XP code on 3 of my systems and it works on them. They are using wired and wireless hardware and all turn off within a few seconds. I know I may be teaching you to 'Suck Eggs' but have you tried compiling it before running the .exe? The only other thing I can suggest is checking if your Network device is identified as such. The below script should tell you if it finds your device. (it's someone else's script I have slightly modified). Dim $aNetworkInfo $cI_CompName = @ComputerName Global $wbemFlagReturnImmediately = 0x10, _ $wbemFlagForwardOnly = 0x20 $lan = 0 _ComputerGetNetworkCards($aNetworkInfo) $networkcard = $aNetworkInfo[0][0] For $i = 1 to $aNetworkInfo[0][0] If StringInStr ($aNetworkInfo[$i][19], "Local Area Connection") And StringInStr ($aNetworkInfo[$i][0], "Ethernet") Then ;MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19]) MsgBox (0, "", $aNetworkInfo[$i][4]) ; show the network card name $lan = 1 ElseIf StringInStr ($aNetworkInfo[$i][19], "Wireless Network Connection") And StringInStr ($aNetworkInfo[$i][0], "WLAN") Then MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19]) $lan = 1 ElseIf StringInStr ($aNetworkInfo[$i][0], "Ethernet") And $aNetworkInfo[$i][19] <> "" And Not StringInStr ($aNetworkInfo[$i][0], "1394") Then MsgBox (0, "", $aNetworkInfo[$i][0] & @CRLF & $aNetworkInfo[$i][19]) $lan = 1 EndIf Next If $lan = 1 Then MsgBox (0, "", "Yes, You have a network card installed !") ElseIf $lan = 0 Then MsgBox (0, "", "No, No network cards installed !") EndIf Func _ComputerGetNetworkCards(ByRef $aNetworkInfo) Local $colItems, $objWMIService, $objItem Dim $aNetworkInfo[1][34], $i = 1 $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems ReDim $aNetworkInfo[UBound($aNetworkInfo) + 1][34] $aNetworkInfo[$i][0] = $objItem.Name $aNetworkInfo[$i][1] = $objItem.AdapterType $aNetworkInfo[$i][2] = $objItem.AdapterTypeId $aNetworkInfo[$i][3] = $objItem.AutoSense $aNetworkInfo[$i][4] = $objItem.Description $aNetworkInfo[$i][5] = $objItem.Availability $aNetworkInfo[$i][6] = $objItem.ConfigManagerErrorCode $aNetworkInfo[$i][7] = $objItem.ConfigManagerUserConfig $aNetworkInfo[$i][8] = $objItem.CreationClassName $aNetworkInfo[$i][9] = $objItem.DeviceID $aNetworkInfo[$i][10] = $objItem.ErrorCleared $aNetworkInfo[$i][11] = $objItem.ErrorDescription $aNetworkInfo[$i][12] = $objItem.Index $aNetworkInfo[$i][13] = $objItem.Installed $aNetworkInfo[$i][14] = $objItem.LastErrorCode $aNetworkInfo[$i][15] = $objItem.MACAddress $aNetworkInfo[$i][16] = $objItem.Manufacturer $aNetworkInfo[$i][17] = $objItem.MaxNumberControlled $aNetworkInfo[$i][18] = $objItem.MaxSpeed $aNetworkInfo[$i][19] = $objItem.NetConnectionID $aNetworkInfo[$i][20] = $objItem.NetConnectionStatus $aNetworkInfo[$i][21] = $objItem.NetworkAddresses(0) $aNetworkInfo[$i][22] = $objItem.PermanentAddress $aNetworkInfo[$i][23] = $objItem.PNPDeviceID $aNetworkInfo[$i][24] = $objItem.PowerManagementCapabilities(0) $aNetworkInfo[$i][25] = $objItem.PowerManagementSupported $aNetworkInfo[$i][26] = $objItem.ProductName $aNetworkInfo[$i][27] = $objItem.ServiceName $aNetworkInfo[$i][28] = $objItem.Speed $aNetworkInfo[$i][29] = $objItem.Status $aNetworkInfo[$i][30] = $objItem.StatusInfo $aNetworkInfo[$i][31] = $objItem.SystemCreationClassName $aNetworkInfo[$i][32] = $objItem.SystemName $aNetworkInfo[$i][33] = __StringToDate($objItem.TimeOfLastReset) $i += 1 Next $aNetworkInfo[0][0] = UBound($aNetworkInfo) - 1 If $aNetworkInfo[0][0] < 1 Then SetError(1, 1, 0) EndIf Else SetError(1, 2, 0) EndIf EndFunc ;_ComputerGetNetworkCards Func __StringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc ;__StringToDate Function created by SvenP Modified by JSThePatriot I have been running 'ipconfig' for my program but one computer lost network connection permanently that is why I moved over to the above scripts. I cannot be sure if it was the commands or a specific computer issue so it might work fine for you. One problem I found with ipconfig was that if a program was already accessing the internet when the cut-off time was reached, I had to terminate the process because it could still access the internet for quite a while after it should have stopped. This drove my kids mad when their screen just cleared. I am still working on my program so if you don't need it for a week, I will post it soon. Gingerbloke -
I am trying to monitor which programs are accessing the internet but I just do not know where to start. I have looked on the forum and found examples for monitoring the amounts of information being sent/received by my computer but none that will just give me a list of what programs are connected to the internet. All I am after is the ability to list the current running programs with internet access ie: iexplorer.exe, msn.exe ...... If it is possible with Autoit could you please point me in the right direction please? Gingerbloke
-
Need help with Children internet control
gingerbloke replied to Borje's topic in AutoIt General Help and Support
I am currently working on a Parental Controls Program and will post it when complete. In the meantime you could always use windows scheduler to run one of the following dependant on your Operating system: (scripts written by others) For XP: you will need Devcon from microsoft. put it in the same location as the script is run. #include <GUIConstantsEx.au3> Global Const $DEVCON = @ScriptDir & "\devcon.exe" XPNETDISABLE () ;XP DISABLE NETWORK ADAPTER FUNC XPNETDISABLE () ShellExecute($DEVCON, "disable ms_pschedmp", "", "", @SW_HIDE) ENDFUNC ;XP ENABLE NETWORK ADAPTER FUNC XPNETENABLE () ShellExecute($DEVCON, "enable ms_pschedmp", "", "", @SW_HIDE) ENDFUNC For Vista: ; $iFlag = 0 ;Disable network interface ; $iFlag = 1 ;Enable network interface _ToggleNetworkInterface('local area connection', 1) Func _ToggleNetworkInterface($strNetwork, $iFlag = 1) Local $wbemFlagReturnImmediately = 0x10 Local $wbemFlagForwardOnly = 0x20 Local $strComputer = "localhost" $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If $objItem.NetConnectionID = $strNetwork Then If $iFlag = 0 And $objItem.NetEnabled = True Then $objItem.Disable ElseIf $iFlag = 1 And $objItem.NetEnabled = False Then $objItem.Enable EndIf ExitLoop EndIf Next Else MsgBox(0, "WMI Output", "No WMI Objects Found for class: " & "Win32_NetworkAdapter") EndIf EndFunc Hope this helps Gingerbloke -
Appologies for this! I am also having to decipher the mess I caused in one of my programs as well. About the Hearing Aid Idea, I Love It but unfortunately, I could not find the USB port for the keyboard on my one so I will have to give that a pass. I wasn't lying about you lot having great knowledge though. Now if you excuse me, I need an Asprin!
-
How do you install an application properly?
gingerbloke replied to qbmike's topic in AutoIt General Help and Support
Regarding installing software, I tend to write stand-alone applications but I still find that sometimes AntiVirus software detects it as malicious depending on where files/registry entries are created and what the program does. Most AntiVirus software using Heuristics look at specific Folder/registry locations to decide if you are 'dodgy'. I therefore use my own registry location within HKEY-LOCAL-MACHINE and also create my own folder location. To auto-run I tend to use the Startup Location in the startup menu. This works fine with me. I have not found a 'compatible' microsoft format because it simply does not seem to exist. You don not need an uninstaller if the user can simply delete your program and it's gone. I found that setting my program as a service works well I hope this makes you feel easier, Gingerbloke -
At a very primative level, you could run the video and screen capture each frame during the whole footage. Then choose an area of the screen to monitor for changes in colour and log those frames. I would suggest several locations being monitored in a relatively small area (say the equiverlent of 2 square foot near the device/location that has been tampered with. Sorry I cannot be of more help at the moment but my son is programming one of these pieces of software but he is only 12 and needs a lot of help. He has onlt got the screen capture at this stage which I have included below if it helps: #include <ScreenCapture.au3> dim $counter dim $numericstring dim $filename dim $loop $counter = 0 ;********************************************************************************* while $loop <>6 $counter = $counter + 1 $numericstring = String($counter) $filename = "\Capture-" & $numericstring & ".jpg" sleep (3000) ;Delay currently 3 seconds _Main() wend ;********************************************************************************* Func _Main() Local $hBmp ; Capture full screen $hBmp = _ScreenCapture_Capture ("") ; Save bitmap to file _ScreenCapture_SaveImage (@MyDocumentsDir & $filename, $hBmp) EndFunc ;==>_Main He has used BMP as JPEG'S are lossy and therefore change the image by smoothing out a given area dependant on the quality thus loosing clarity and, when looking for changes in video footage, reducing it's chances of detecting movement. All the best, I feel for you, it used to be my job checking video and did my head in! Gingerbloke
-
Thanks for the suggestion, I had done that when I first started the program but my children started moaning that they could not do their Homework from school because the page vanished when they were trying to read it. I realise that the DNS way is not ideal and as the program develops I hope to: 1-Disable the Network Hardware to stop Internet Access. This works for Vista but not XP. I have not even got onto Win7 yet. 2-Monitor which programs are accessing the internet and if they are not on the Whitelist, count down the time left. My kids will install other software to access the internet to bypass my program if they get a chance. 3-Read web-sites/IP addresses being accessed and block known malicious sites logging an attempt. I cannot really progress with this program until I work out what the issue is with it because I do not want to post a completed one as usable on the Forum until I know it is safe. I hope this explains a bit more? Gingerbloke
-
Can anyone help me please. The below code is for a 'Parental Controls' program that I have been developing for use on XP, Vista and Win7. The intention of the program is as follows: 1- Block internet access between certain times of the day (ie blocked between 11pm and 7am) 2-Block internet access after a given amount of time that certain Internet programs have been running (ie: 3 hours) The settings for the above criteria are stored in the Registry It blocks the internet by changing the DNS address from the default (ie 192.168.0.3) to "10.10.10.1" The problem is that on the Wireless Laptops (XP machines) the program after a few days seems to permanently block the computers internet access. I have tried ipconfig /release and /renew but no internet. Even reseting the DNS info will not allows internet access (it does however connect to the router on 192.168.0.3 for example. Does anyone have any ideas what is wrong with the program and (although not an AutoIt question) how to get the internet connection back on these two systems. ***WARNING THIS SCRIPT MAY DISABLE YOUR INTERNET.. PLEASE BE CAREFUL*** Any help/advice/opinions would be appreciated Gingerbloke PC-Program.au3
-
Thanks failedtocompile, I will look out for your project. If anyone can still see where I went wrong with my code it would be appreciated for future projects. Regarding your issue with CPU usage, I am currently writing a 'general' backup program and have found Hard Drive Access is the main bottleneck (reading and writing the data). Because it was slowing my system a bit more than I wanted I have changed the process priority to Idle and that seems to have worked well. Just a thought if all else fails with your project Gingerbloke
-
HELP PLEASE!!! Im pulling my hair out and im already bald..... The below script opens outlook (2003) and uses the 'Data File Management' Menu to try and read the location on the Drive of the 'Personal Files' folder. Ive got it to identify the 'Personal Files' location but it will not read the text from the Filename String in the Edit Box so I am not able to get the file path. From 'AutoIt Windows Info' I get the following identified for the Window: Basic Window Info- Title: Personal Folders Class: #32770 Basic Control Info- Class: Edit Instance: 1 Control- ClassnameNN: Edit1 ID: 2003 The data is shown as a file path but I keep getting blank (all the rems are the different things ive be trying) dim $progressflag dim $ipos dim $iposa dim $loop $progressflag = 0 ;Start out look if not running If not ProcessExists("OUTLOOK.EXE") Then Run("C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE") sleep (5000) EndIf If WinExists("Outlook Today - Microsoft Outlook") Then WinActivate("Outlook Today - Microsoft Outlook", "") $progressflag = 1 endif If WinExists("Calendar - Microsoft Outlook") Then WinActivate("Calendar - Microsoft Outlook", "") $progressflag = 1 endif If WinExists("Contacts - Microsoft Outlook") Then WinActivate("Contacts - Microsoft Outlook", "") $progressflag = 1 endif If WinExists("Tasks - Microsoft Outlook") Then WinActivate("Tasks - Microsoft Outlook", "") $progressflag = 1 endif if $progressflag = 1 then while $progressflag <> 10 If WinActive("Enter Network Password") Then Send("{ENTER}") ; sleep (1000) EndIf If WinActive("Outlook Send/Receive Progress") Then Send("!s") Send("!c") ; sleep (1000) EndIf If WinActive("Outlook Today - Microsoft Outlook") Then Send("!f") Send("d") ; sleep (1000) EndIf If WinActive("Calendar - Microsoft Outlook") Then Send("!f") Send("d") ; sleep (1000) EndIf If WinActive("Contacts - Microsoft Outlook") Then Send("!f") Send("d") ; sleep (1000) EndIf If WinActive("Tasks - Microsoft Outlook") Then Send("!f") Send("d") ; sleep (1000) EndIf If WinActive("Outlook Data Files") Then ControlClick("", "", 701) ;go to list view Send("{UP}") ;work way up to top of list view Send("{UP}") Send("{UP}") Send("{UP}") Send("{UP}") ;Check each entry in list view for our Personal File For $loop = 1 to 5 $iPos = "" ; sleep (2000) Send("!s"); now go to settings lidt box item If WinActive("Personal Folders") Then ;ControlCommand("","","ListBox1", "FindString", 'string') $iPos = ControlGetText("Personal Folders", "", "RichEdit20WPT1") ToolTip($iPos, 0, 0) ; sleep (2000) if $iPos <> "Personal Folders" then $iPosa = "" endif if $iPos = "Personal Folders" then ;************************************************************************************** ;************************THE BELOW I THINK IS THE PROBLEM****************************** ;************************************************************************************** If WinActive("Personal Folders") Then [b] $iPosa = ControlGetText("Personal Folders", "", "Edit1")[/b] ToolTip($iPosa, 0, 0) ;********* NOT GETTING $iPosa String.. It is blank ********* MsgBox(4096, $loop, $iPosa) sleep (5000) endif endif EndIf Send("{ESCAPE}") Send("{DOWN}") ;work way up to top of list view next endif ; If WinActive("Microsoft Office Outlook") Then ; $iPosa = ControlGetText("Microsoft Office Outlook", "", "Edit1") ; sleep (1000) ; EndIf ; sleep (5000) wend endif Thanks for any help/advice anyone can give gingerbloke
-
Thanks for that, Do you know when you look to much and miss the obvious? I totally overlooked the "Outlook Data File Management" I will now work on automating reading these file locations and copying the .PST files to them with AutoIt. Ive, worked out restoring the Account settings (minus password for some reason?) from the Registry so nearly there.. Thanks again Confuzzled
-
That would be fair enough if I had the original system but it crashed. I only have the outlook backup folder containing all the files (inc .pst) and a registry backup. I am hoping to write a program that will allow people to restore their email info automatically in such a situation as I find myself in. I would have to be the first to admit, I use Outlook but do not understand how it works. By developing an Outlook restore program (with the forums help) maybe others will be able to use it if they find themselves in a similar situation to me.. Looking at peoples backup programs they have/are developing, they would be in a similar situation to me if their systems crashed, so I do feel it would be useful to others and once created, I will post it for people to use on the forum. Gingerbloke "PROGRAMMING IS THE ABILITY TO BE ABLE TO AUTOMATE PROCESSES THAT WOULD OTHERWISE BE TIME CONSUMING OR TEDIOUS" AUTHOR: I don't know I just made it up!