|
How about: Please do your own freakin' googling?
|
|
|
|
|
Yes, that's good. I think the "Please" did it!
|
|
|
|
|
I'm pretty sure its main purpose in the project is for grid control. If anyone knows of another method for grid control for 32 bit apps, let me know.. in the meantime.. i'll try to do my own googling to see if there is anything out there...thankz..
|
|
|
|
|
mtrack81 wrote:
I'm pretty sure its main purpose in the project is for grid control.
Then you're in luck. Not only have Microsoft created a common control for this purpose, if you want something extra this seems to be a good place to look!
|
|
|
|
|
|
I'm trying to get my App to luanch a program, like Quake 3.
using CreateProcess();
I got two problems..
One is that Quake 3 looks for a default.cfg in the Defualt dir, but my program changes the defualt dir to the path to my program, so Quake 3 thinks that the default.cfg file is located where my program is located, but it is not.
the second problem is that I can't include consol commands.. like "d:\games\half-life\hl.exe -game cstrike"
This won't work..
code:
CreateProcess( NULL,Game[0].Path,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi );
Any solution to these two problems?
Thanks
|
|
|
|
|
You can use the APIs like SetCurrentDirectory to change the current working directory of your program
Samir Sood
|
|
|
|
|
yeah, But if I have a string like: "d:\games\quake3\quake3.exe" and want to set the currentdir
like: SetCurrentDirectory("d:\games\quake3\quake3.exe") I need to remove the quake3.exe but how?.
|
|
|
|
|
Use ShellExecute() instead.r to open or explore. The function can open an executable file or a document file. The function can print a document file.
lpParameters
If the lpFile parameter specifies an executable file, lpParameters is an address to a null-terminated string that specifies the parameters to be passed to the application.The format of this string is determined by the verb that is to be invoked. If lpFile specifies a document file, lpParameters should be NULL.
lpDirectory
Address of a null-terminated string that specifies the default directory.
nShowCmd
Flags that specify how an application is to be displayed when it is opened. If lpFile specifies a document file, the flag is simply passed to the associated application. It is up to the application to decide how to handle it.
SW_HIDE | Hides the window and activates another window. | SW_MAXIMIZE | Maximizes the specified window. | SW_MINIMIZE | Minimizes the specified window and activates the next top-level window in the z-order. | SW_RESTORE | Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window. | SW_SHOW | Activates the window and displays it in its current size and position. | SW_SHOWDEFAULT | Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. An application should call ShowWindow with this flag to set the initial show state of its main window. | SW_SHOWMAXIMIZED | Activates the window and displays it as a maximized window. | SW_SHOWMINIMIZED | Activates the window and displays it as a minimized window. | SW_SHOWMINNOACTIVE | Displays the window as a minimized window. The active window remains active. | SW_SHOWNA | Displays the window in its current state. The active window remains active. | SW_SHOWNOACTIVATE | Displays a window in its most recent size and position. The active window remains active. | SW_SHOWNORMAL | Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time. |
Return Values
Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Microsoft® Windows® applications. It is not a true HINSTANCE,
however. The only thing that can be done with the returned HINSTANCE is
to cast it to an integer and compare it with the value 32 or one of the
error codes below.
0 | The operating system is out of memory or resources. | ERROR_FILE_NOT_FOUND | The specified file was not found. | ERROR_PATH_NOT_FOUND | The specified path was not found. | ERROR_BAD_FORMAT | The .exe file is invalid (non-Win32® .exe or error in .exe image). | SE_ERR_ACCESSDENIED | The operating system denied access to the specified file. | SE_ERR_ASSOCINCOMPLETE | The file name association is incomplete or invalid. | SE_ERR_DDEBUSY | The DDE transaction could not be completed because other DDE transactions were being processed. | SE_ERR_DDEFAIL | The DDE transaction failed. | SE_ERR_DDETIMEOUT | The DDE transaction could not be completed because the request timed out. | SE_ERR_DLLNOTFOUND | The specified dynamic-link library was not found. | SE_ERR_FNF | The specified file was not found. | SE_ERR_NOASSOC | There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable. | SE_ERR_OOM | There was not enough memory to complete the operation. | SE_ERR_PNF | The specified path was not found. | SE_ERR_SHARE | A sharing violation occurred. |
Remarks
This method allows you to execute any commands in a folder's context menu or stored in the registry.
To open a folder, use either of the following calls:
ShellExecute(handle, NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
or
ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To explore a folder, use:
ShellExecute(handle, "explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To launch the shell's Find utility for a directory, use:
ShellExecute(handle, "find", path_to_folder, NULL, NULL, 0);
If lpOperation is NULL, the function opens the file specified by lpFile. If lpOperation is "open" or "explore", the function will attempt to open or explore the folder.
With multiple monitors, if you specify the window handle and set lpOperation to "Properties", any windows created by ShellExecute may not appear in the correct position.
To obtain information about the application that is launched as a result of calling ShellExecute, use ShellExecuteEx.
See Also
IShellExecuteHook
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in shellapi.h.
Import Library: shell32.lib.
|
|
|
|
|
Instead of copying MSDN article, just post a link next time.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
Ok I see. But I need a function that returns the path of the file.
Like 'd:\games\quake 3\quake3.exe' will return 'd:\games\quake 3\'
Any function that does this?
thanks.
|
|
|
|
|
Visual Basic is great for things like that
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
Just parse the string from right to left, and keep adding a char to a buffer until it encounters a '\'.
|
|
|
|
|
Look up: _makepath, _fullpath, and _splitpath in MSDN I've used these before.
|
|
|
|
|
Hi,
how it's possible to modify in MFC the pop-up menu that appears when i click on the icon of a window? I've searched something in MSDN but nothing
|
|
|
|
|
Anonymous wrote:
when i click on the icon of a window
Do you mean the system menu? Check out CWnd::GetSystemMenu, CMenu::AppendMenu, CMenu::InsertMenu & CMenu:: ModifyMenu
Dylan Kenneally
London, UK
|
|
|
|
|
For a fast tutorial, create a new dialog app (with MFC) project, and check out how the About Box is handled in OnInitDialog() and OnSysCommand()
~RaGE();
|
|
|
|
|
Is there any Function in MFC through which i can get the bios time.;)
Samir Sood
|
|
|
|
|
SamirSood wrote:
Is there any Function in MFC through which i can get the bios time.
You mean BIOS release date?
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
What i exactly mean is that I want to get the current system time based on the BIOS time. Because if I change the system time through the Adjust time/date then the APIS such as GetCurrentTime will return the changed System time.
What I want is that I want the correct time based on the time stored in BIOS or somewhere else which is intransient to the change in system time by the User.
Thanks in Advance.
Samir Sood
|
|
|
|
|
So you're suggesting that changing time in Windows doesn't change BIOS time?
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
changing the clock in windows does change the bios time..
i think what he may be asking is if it is 9:35.. and 5 minutes later someone sets the clock to 9:36, how can he tell 5 minutes went by instead of 1..
is that what your asking? if so i would think you would have to monitor the time at a constant rate.. like have a thread that checks the clock every 30 seconds.. this 30 secods would be based of the speed of the system clock..
-dz
|
|
|
|
|
Yes It does change the BIOS time . But is there anything in the BIOS which stores how many clock ticks have passed since it was manufactured then relatively we can get the current time is that so ?
Please reply t it
Samir Sood
|
|
|
|
|
May GetTickCount() solve the problem ? Do you only need a base time ?
~RaGE();
|
|
|
|
|
SamirSood wrote:
But is there anything in the BIOS which stores how many clock ticks have passed since it was manufactured
No there is not.
John
|
|
|
|