473,325 Members | 2,308 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,325 software developers and data experts.

Kill all instances of an application if it is running

Hi all,

I've got a rather unique problem (I think), and I'm hoping someone can help me out.

I developed a solution for my company using MS Access 2007 with the MS Access 2007 Runtime. Everything is fine with the application itself although we've just discovered that at the bottom of all 2007 Runtime applications there's a "Powered by Microsoft Access" button which, when clicked, opens a browser and points itself to MS's Office web page. We aren't complaining about the button itself, but the problem is that my company forbids the people who will be using this program from surfing the internet while at work, so having this thing open up a browser is not good. I've tried disabling access to IE through the registry but then the runtime spits out an error saying that you must have IE installed to run the application.

What I'd like to do is create a VB program which detects when browsers are opened and then immediately shuts them (when detected). Moreover, the program needs to run invisibly so that the personnel cannot stop it. On a skill level from 1-10 with VB I'm about a 4, so that should answer questions as to why I'm asking for advice on how to accomplish this.

I don't expect people to write it for me, but I'm desperately hoping someone can point me toward some links which will help me. Thanks in advance.
Nov 11 '07 #1
1 2530
Dear
you can use APIs to end process, use following code

Write this code in vb6.0 module. and use KillProcess proceadure

Expand|Select|Wrap|Line Numbers
  1.  
  2. '-------------------------------------------------------
  3. Type PROCESSENTRY32
  4.     dwSize As Long
  5.     cntUsage As Long
  6.     th32ProcessID As Long
  7.     th32DefaultHeapID As Long
  8.     th32ModuleID As Long
  9.     cntThreads As Long
  10.     th32ParentProcessID As Long
  11.     pcPriClassBase As Long
  12.     dwFlags As Long
  13.     szexeFile As String * 260
  14. End Type
  15. '-------------------------------------------------------
  16. Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, _
  17. ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
  18.  
  19. Declare Function ProcessFirst Lib "kernel32.dll" Alias "Process32First" (ByVal hSnapshot As Long, _
  20. uProcess As PROCESSENTRY32) As Long
  21.  
  22. Declare Function ProcessNext Lib "kernel32.dll" Alias "Process32Next" (ByVal hSnapshot As Long, _
  23. uProcess As PROCESSENTRY32) As Long
  24.  
  25. Declare Function CreateToolhelpSnapshot Lib "kernel32.dll" Alias "CreateToolhelp32Snapshot" ( _
  26. ByVal lFlags As Long, lProcessID As Long) As Long
  27.  
  28. Declare Function TerminateProcess Lib "kernel32.dll" (ByVal ApphProcess As Long, _
  29. ByVal uExitCode As Long) As Long
  30.  
  31. Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
  32. '-------------------------------------------------------
  33. Public Sub KillProcess(NameProcess As String)
  34. Const PROCESS_ALL_ACCESS = &H1F0FFF
  35. Const TH32CS_SNAPPROCESS As Long = 2&
  36. Dim uProcess  As PROCESSENTRY32
  37. Dim RProcessFound As Long
  38. Dim hSnapshot As Long
  39. Dim SzExename As String
  40. Dim ExitCode As Long
  41. Dim MyProcess As Long
  42. Dim AppKill As Boolean
  43. Dim AppCount As Integer
  44. Dim i As Integer
  45. Dim WinDirEnv As String
  46.  
  47.        If NameProcess <> "" Then
  48.           AppCount = 0
  49.  
  50.           uProcess.dwSize = Len(uProcess)
  51.           hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)
  52.           RProcessFound = ProcessFirst(hSnapshot, uProcess)
  53.  
  54.           Do
  55.             i = InStr(1, uProcess.szexeFile, Chr(0))
  56.             SzExename = LCase$(Left$(uProcess.szexeFile, i - 1))
  57.             WinDirEnv = Environ("Windir") + "\"
  58.             WinDirEnv = LCase$(WinDirEnv)
  59.  
  60.             If Right$(SzExename, Len(NameProcess)) = LCase$(NameProcess) Then
  61.                AppCount = AppCount + 1
  62.                MyProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)
  63.                AppKill = TerminateProcess(MyProcess, ExitCode)
  64.                Call CloseHandle(MyProcess)
  65.             End If
  66.             RProcessFound = ProcessNext(hSnapshot, uProcess)
  67.           Loop While RProcessFound
  68.           Call CloseHandle(hSnapshot)
  69.        End If
  70.  
  71. End Sub
  72.  
  73.  
  74.  
  75.  
hopefully you will get solution

Regards,
Nov 15 '07 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

6
by: Bob Swerdlow | last post by:
My application starts up a number of processes for various purposes using: self.popen = popen2.Popen3("/usr/local/bin/python -O "myscript.py") and then shuts them down when appropriate with...
3
by: Alex Hunsley | last post by:
I'm running a monitoring script under linux written in python. It's nohup'ed so that I can log out and it will continue running happily and so on, but sometimes I need to kill the script before...
12
by: Jerry Sievers | last post by:
Greetings Pythonists; I have limited experience with threaded apps and plenty with old style forked heavyweight multi-processing apps. Using Python 2.3.3 on a Redhat 7.x machine. Wondering...
4
by: Roland Riess | last post by:
Hi all, at the moment i am developing an app which is sort of an interface to copy data from one database to another and it shall run as a service. As there are several databases the app must be...
0
by: WATYF | last post by:
This is my problem... I have some code that starts a Process and returns it to a variable... (prcBat) At any time while that process is running... I want to be able to Kill it by pressing a...
3
by: Michel | last post by:
Hi, I wrote an app in .Net and I whant only 1 instance of this app open for the user; the user open my app, do some works and try to open another instance of my app, I whant to show a message to...
0
by: bettatronic | last post by:
The goal : to have class which is able to add some OLE objects on the sheet runtime. Instances of the class must be accessible from any public/private module. Okay, I've experimented for so long &...
8
by: =?Utf-8?B?UGV0ZXI=?= | last post by:
I'm trying to get a list of SQL Server Instances thru a VB.NET application. I have tried GetDataSource and SMO. I have also tried using ListSQLSvr.exe from...
18
by: =?Utf-8?B?VGhlU2lsdmVySGFtbWVy?= | last post by:
Because C# has no native SSH class, I am using SharpSSH. Sometimes, for reasons I do not know, a Connect call will totally lock up the thread and never return. I am sure it has something to do...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.