[Qt-interest] How to close a process running on windows !

Jason H scorp1us at yahoo.com
Tue Sep 14 16:28:00 CEST 2010


Why is this a Qt issue?
Shouldn't you be using QProcess, rather than the raw API?





________________________________
From: Santhosh Y <santhosh at softjin.com>
To: "qt-interest at trolltech.com" <qt-interest at trolltech.com>
Sent: Tue, September 14, 2010 7:20:42 AM
Subject: [Qt-interest] How to close a process running on windows !

Hi, 

This is in context of closing nxdatcom.exe process.

I am able to get the handle to the process in which I am interested in closing, 
but when I call TerminateProcess() it is returning me false.
That means it is not able to terminate the process. Any idea on alternative !

////////////////////////////////////////////////////////////////////////////////////////////////////


    bool isRunning()
    {
        unsigned long aProcesses[1024], cbNeeded, cProcesses;
        if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
            return false;

        cProcesses = cbNeeded / sizeof(unsigned long);

        for(unsigned int i = 0; i < cProcesses; i++) {
            if(aProcesses[i] == 0)
                continue;

            HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | 
PROCESS_VM_READ, 0, aProcesses[i]);

            wchar_t buffer[50];

            GetModuleBaseName(hProcess, 0, buffer, 50);

            std::string str;
            for (int i=0; i < 50; i++) {
                str.push_back (buffer[i]);
            }
    
            // std::cout << str << std::endl;
            // Able to print  all the exe's running over my machine
            
            if(strcmp(str.c_str(), "nxdatcom.exe") == 0) {

                //CloseHandle(hProcess);
               
               BOOL b = TerminateProcess( hProcess, 0);        // This is 
failing; Any idea on alternative !
               
                if (b == false) {
                   std::cout <<  GetLastError() << std::endl;
                }
                return b;
            }
        }
        return false;
    }

--  ---------------------------------------------------- Y Santhosh Kumar -  
Senior Software Engineer, SoftJin Technologies Pvt Ltd, www.softjin.com 
---------------------------------------------------- 

Business Disclaimer ____________________________________________________________ 
This e-mail message and any files transmitted with it are intended solely for  
the use  of the  individual or entity  to which they  are  addressed. It may  
contain confidential,  proprietary or legally  privileged  information. If  you  
are  not  the  intended recipient please be advised that you have received  this  
message in error and any use is strictly prohibited. Please immediately  delete 
it  and all copies of it from your system, destroy any hard  copies  of  it and  
notify  the  sender  by return mail. You must not, directly or indirectly, use,  
disclose,  distribute, print, or copy any part of this message if you are not 
the intended recipient. 
___________________________________________________________ 



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20100914/6eed3ea8/attachment.html 


More information about the Qt-interest-old mailing list