Indigo Rose Software
  #1  
Old 08-21-2007
GnaisH GnaisH is offline
Forum Member
 
Join Date: Jun 2007
Posts: 5
Visual Patch 3.0 - g_EnsureProgramIsClosed()

Anybody notice that this function does not work in a 64bit Windows OS? I realized that when I tried to output all the running processes using the following code, the processes paths are empty.
Code:
tblProcesses = Window.EnumerateProcesses();
if(tblProcesses)then
	strOutput = "";
	for handle,path in tblProcesses do
		strOutput = strOutput..handle.."="..path.."\r\n";
	end
	Dialog.Message("Output",strOutput);
end
The attached screenshot shows the results in a Windows 64bit Vista. The only process that is seen is our software's TrueUpdate running in the background.

All of this code works properly on a 32bit Windows OS. Does anybody know how to find running processes in a 64bit Windows OS? or even making the g_EnsureProgramIsClose function in Visual Patch work in a 64bit Windows OS?
Attached Images
File Type: jpg 1.JPG (16.8 KB, 5 views)
Reply With Quote
  #2  
Old 08-22-2007
Eagle Eagle is offline
Indigo Rose Customer
 
Join Date: Mar 2005
Location: WA 'wait a while' - Australia
Posts: 827
cupple comments:

1.
Code:
tblProcesses = Window.EnumerateProcesses();
will only acheive this: for 32bit And 64bit.

"Note: In order for a window to be classified as a top level window, it must not have an owner window and must be visible."

whereas:

Code:
tblProcesses = Window.EnumerateProcesses(false);
will reveal some more..(set to 'all levels' visible or not)

Code:
open_processes = System.EnumerateProcesses();
usually shows all proccesses(images) running on a 32 bit

one reason why some of these actions don't reveal all on ANY 64Bit
OS is that IR runtimes are 32bit(x86), so any non 32 bit system resource
or other true 64bit Image (.exe, .dll) will more than likely not be available
to the IR action because of this '32bit limitation'

which to be open about it, is showing up as time goes on, the lack of 64bit support

with regards to:

Code:
function g_IsProcessRunning(FileName)
	local tblProcesses = Window.EnumerateProcesses();
	local bProcessFound = false;
	if(tblProcesses)then
		local strProcessName;
		local nHandle;
		for nHandle, strProcessName in tblProcesses do
			if(String.Find(strProcessName,FileName,1,false) ~= -1)then
				bProcessFound = true;
			end
		end
	end
	
	return bProcessFound;
end
I would prefer : String.Find(...) be changed to String.CompareNoCase(...)

to cover the occassional scenario where 'myapp'.exe could be part
of another unrelated Application or running proccess name:

eg billys'myapp'.exe

in otherwords it is either the exact target name(upper\lowercase) or it
just plain well is'nt. - just my 2 bob 'constructive comments' hopefully

as an asside: temporarily Disabling 'file system redirection' on
verified 64bit OSs may solve some of the 32bit Runtime 'action issues'

if I'm off target with any of this please feel free to cut me off at the neck .

Last edited by Eagle; 08-22-2007 at 11:08 AM.
Reply With Quote
  #3  
Old 08-23-2007
Eagle Eagle is offline
Indigo Rose Customer
 
Join Date: Mar 2005
Location: WA 'wait a while' - Australia
Posts: 827
this may help you out a little:

http://www.indigorose.com/forums/sho...019#post107019
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Visual Patch 3.0 Simplifies Software Patch Packaging Ted Sullivan Announcements & News 0 08-07-2007 02:38 PM
Key Features of Visual Patch 2.0 Ted Sullivan Visual Patch 2.0 0 04-08-2005 03:56 PM
What's New in Visual Patch 2.0? Ted Sullivan Visual Patch 2.0 0 04-08-2005 03:53 PM
Frequently Asked Questions Ted Sullivan Visual Patch 2.0 0 04-08-2005 03:49 PM
Visual Patch 1.0 Documentation Ted Sullivan Visual Patch 1.0 0 11-18-2003 02:53 PM


All times are GMT -6. The time now is 09:16 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Copyright © 2000 - 2009 Indigo Rose Corporation. All rights reserved.
Indigo Rose Software