Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   How can I create a GUI program to launch Maintenance Tools? (http://www.go4expert.com/forums/i-create-gui-program-launch-maintenance-t17562/)

Panarchy 16May2009 18:56

How can I create a GUI program to launch Maintenance Tools?
 
Hi

http://i41.tinypic.com/34nql92.jpg

Any ideas on how I could create the above mockup, for real?

I would like;

RAM - Display shows in log (bottom) - Open display system properties
Scheduled Tasks - Display shows in log - Open opens up the scheduled tasks control panel applet
Backup Directory - Display show which it will go to - Open opens it up in explorer
Check Raid - Checks if the Software RAID is healthy - Open opens up Disk Management

I thought of the idea, then I prtscn'd the XAMPP Control Panel for the mockup.

Please tell me if it is possible to do as shown in the mockup.

Thanks in advance,

Panarchy

shabbir 16May2009 19:48

Re: How can I create a GUI program to launch Maintenance Tools?
 
Its very much possible and there are API to be doing this.

Opening Task manager can be done using just launching "taskmgr.exe"

Panarchy 17May2009 05:32

Re: How can I create a GUI program to launch Maintenance Tools?
 
Using the WinAPI?

Alright. Well I did some research yesterday, pretty sure this includes all;

Scheduled Tasks
http://msdn.microsoft.com/en-us/libr...01(VS.85).aspx

Disk Management
http://support.microsoft.com/kb/300415 (CLI)
http://msdn.microsoft.com/en-us/libr...86(VS.85).aspx
OCTL_DISK_PERFORMANCE:
http://msdn.microsoft.com/en-us/libr...83(VS.85).aspx

RAM
http://msdn.microsoft.com/en-us/libr...89(VS.85).aspx

My question is, how do I link all the above into a GUI program like the mockup I created before?

Thanks in advance for any more help with this,

Panarchy

shabbir 17May2009 07:39

Re: How can I create a GUI program to launch Maintenance Tools?
 
What do you mean by linkup.

All you have to do is when button is clicked launch the needed thing.

Panarchy 17May2009 07:40

Re: How can I create a GUI program to launch Maintenance Tools?
 
Sorry, I still don't understand how to do that.

Please explain.

Thanks in advance,

Panarchy

PS: Once this is finished and working perfectly, I'll put it on SourceForge or the microsoft one... codeplex?

SaswatPadhi 17May2009 08:40

Re: How can I create a GUI program to launch Maintenance Tools?
 
Quote:

Originally Posted by Panarchy (Post 47956)
Hi

Hi Panarchy,
--------------------------------------------------------------------------------------------------------------------------------------------
Quote:

Originally Posted by Panarchy (Post 47956)
RAM - Display shows in log (bottom) - Open display system properties

Code: c++

system("sysdm.cpl");

--------------------------------------------------------------------------------------------------------------------------------------------
Quote:

Originally Posted by Panarchy (Post 47956)
Scheduled Tasks - Display shows in log - Open opens up the scheduled tasks control panel applet

Code: c++

system("control schedtasks");

--------------------------------------------------------------------------------------------------------------------------------------------
Quote:

Originally Posted by Panarchy (Post 47956)
Backup Directory - Display show which it will go to - Open opens it up in explorer

Code: c++

system("start \"C:\\MyBackup\"");

(assuming your Backup dir is C:\MyBackup)
--------------------------------------------------------------------------------------------------------------------------------------------
Quote:

Originally Posted by Panarchy (Post 47956)
Check Raid - Checks if the Software RAID is healthy - Open opens up Disk Management

Code: c++

system("diskmgmt.msc");

--------------------------------------------------------------------------------------------------------------------------------------------
Quote:

Originally Posted by Panarchy (Post 47956)
Thanks in advance

My pleasure :biggrin:

Panarchy 17May2009 13:13

Re: How can I create a GUI program to launch Maintenance Tools?
 
Thanks mate. However, here is what my current code looks like;

Code:

#include <windows.h>
#include <tchar.h>
#include <iostream>

#ifdef UNICODE
#define tcout wcout
#else
#define tcout cout
#endif

int APIENTRY WinMain(HINSTANCE hinstance, HINSTANCE hprevious, LPSTR cmdline, int cmdshow) {

    STARTUPINFO si = {0};
    PROCESS_INFORMATION pi = {0};
    TCHAR lpCmdLine[MAX_PATH] = {0};
    ::ExpandEnvironmentStrings(_T("\"%ProgramFiles%\\Symantec\\LiveUpdate\\LUALL.exe\""),
                              lpCmdLine, MAX_PATH);

    std::tcout << _T("Command line : ") << lpCmdLine << std::endl;

    BOOL bRet = ::CreateProcess(NULL, lpCmdLine, NULL, NULL, FALSE,
                              CREATE_NO_WINDOW, NULL, NULL, &si, &pi);

    ShellExecute(NULL, TEXT("open"), TEXT("control"), TEXT("schedtasks\0"), NULL, SW_HIDE);
    ShellExecute(NULL, TEXT("open"), TEXT("control"), TEXT("sysdm.cpl"), NULL, SW_HIDE);
    ShellExecute(NULL, TEXT("open"), TEXT("diskmgmt.msc"), NULL, NULL, SW_HIDE);

    {
        if( reinterpret_cast<int>(ShellExecute(NULL, "explore", "\\\\panarchy\\share", NULL, NULL, SW_SHOWNORMAL)) <= 32)
            if( reinterpret_cast<int>(ShellExecute(NULL, "explore", "D:\\BackYouUp\\", NULL, NULL, SW_SHOWNORMAL)) <= 32)
            {
                ShellExecute(NULL, "explore", "C:\\Backups\\bac\\", NULL, NULL, SW_SHOWNORMAL);
            }
    }

    return 0;
}

Does the trick, however it could be much better. If I could programmically see if the partitions/drives are Healthy, then print whether or not it is within the textbox, that would save some time. Also, having the option to open Disk Management instead/as well as, would be very useful. Same goes for the others. For scheduled tasks, the last result field would be the one I'd be looking at. For System Properties, it would be RAM.

Would it be possible to implement the aforementioned code within a GUI program, like the one I first mentioned?

Even if you could just help me by getting the Open button working, I'd really appreciate it.

Thanks in advance,

Panarchy

Panarchy 20May2009 05:52

Re: How can I create a GUI program to launch Maintenance Tools?
 
So, if I could please have some help with getting this to work, I'd really appreciate it.

Thanks in advance,

Panarchy

Panarchy 17Jun2009 07:09

Re: How can I create a GUI program to launch Maintenance Tools?
 
Greetings,

I've worked out a ⅓ of the problem, to be specific, I've worked out the 'Open' button;

Code:

System::Diagnostics::Process::Start("diskmgmt.msc");
Still to work out;

- How to use System::Diagnostics::Process::Start with if & else command
- Programming the Display button

Please help me work those out!

Thanks in advance,

Panarchy

Panarchy 21Sep2009 08:19

Re: How can I create a GUI program to launch Maintenance Tools?
 
*bump


All times are GMT +5.5. The time now is 10:30.