|
Gosh, I don't normally get voted on! And to think I was trying to kill time productively while I
struggled to work out a problem of *mine*!
Iain.
|
|
|
|
|
Some also confuse one or both of those words with a "mnemonic", which is the underlined character you get on dialog controls allowing you to focus or activate that control using the <ALT> key along with the key of the underlined character.
They (mnemonics) are also used on top-level Menus and Menu Items (although you do not need to use the <ALT> key when a menu or menubar is active).
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Tip for new SUV drivers: Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
Hi all,
I'd like a little help. I am writing a Setup program and have come up against the problem of installation over a network. The program currently works perfectly installing on Windows machines locally but I am trying to consider how a network admin might install across a network. Currently the setup would require individual installations on each machine due to the fact that local registries are set by the setup program.
I guess what I'm asking is, what is best? Do network admins usually install systems individually or is there a method of cascade installation which can be applied?
Many thanks
u6ik
|
|
|
|
|
u6ik wrote:
Do network admins usually install systems individually
In windows this is the case. But there are tricks we sometimes use to do a full install of all applications then mirror the disk and use special software to make windows create a new uid for the machine. However this generally only works on very similar systems (same hardware).
John
|
|
|
|
|
Thanks for the feedback. My favourite kind of problem... A problem that's not a problem. Looks like I'm onto testing
Cheers
u6ik
|
|
|
|
|
One thing you can do to make it less work for network admins is to allow the media to be copied (not installed) to a server share and then installed individually from there to each pc instead of having to carry a cd around to 1000 computers. In some places (my hospital) we have computers without cds so allowing pcs to be installed in this way is essential.
John
|
|
|
|
|
Piracy aside, this is probably the way the product will be released for institutions. A licenced network release
u6ik
|
|
|
|
|
How can I make a simple shell with c or c++ . have you any program
about shell writen in c or c++.
|
|
|
|
|
ok ok, i stop after this one
my question (cross posting avoided again) is this one[^]
any suggestion on how one can set the focus again to an already existing ainstance of a program ?
thanks to all of you in advance
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
toxcct wrote:
(cross posting avoided again)
Oops, I Posted my answer there!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
|
|
|
|
|
toxcct wrote:
any suggestion on how one can set the focus again to an already existing ainstance of a program ?
Something like:
if (bFound)
{
if (it's a popup window)
SetForegroundWindow(handle to the popup window);
if (it's an icon)
ShowWindow(handle to the popup window, SW_RESTORE);
return FALSE;
}
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
thanks david, but firstly, Alok answer satisfied my plainly (with code), and secondly, your sample is not exactly what i need.
anyway, i apreciate.
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
toxcct wrote:
...your sample is not exactly what i need.
Strange, as it has always worked for me. After you find that the mutex exists, indicating that the application is already running, it's simply a matter of restoring the window.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
oh sorry, i didn't understood your *code* at first time.
DavidCrow wrote:
SetForegroundWindow(handle to the popup window);
ShowWindow(handle to the popup window, SW_RESTORE);
hum well, how do you get handle to the popup window ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
toxcct wrote:
how do you get handle to the popup window ?
Use EnumWindows() .
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
This is how I limit my apps to a single instance and activate the first instance if another is run.
HANDLE hm = CreateMutex(NULL, TRUE, "Mutex Name");<br />
DWORD dw = GetLastError();<br />
if(dw == ERROR_ALREADY_EXISTS)<br />
{<br />
SetForegroundWindow(FindWindow("ClassName", "WindowName"));<br />
return(0);<br />
}
There are probably better ways but this is the simplest I know and has always worked just fine.
|
|
|
|
|
interesting code.
but what do ClassName and WindowName represent exactly in your above line code ?
<code>SetForegroundWindow(FindWindow("ClassName", "WindowName"));</code>
thanks in advance.
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
ClassName is the name of the type of class of the window you are looking for. Such as the name you used when you called RegisterClass .
WindowName is the name of the window you wish to find. This is the window title. Such as "The Code Project - Free Source Code and Tutorials - Internet Explorer".
Read the MSDN entry for FindWindow , that should explain it better than me.
Hope this is helpful.
|
|
|
|
|
hi codeprojecter,
it's me again... (and it's not the end )
i asked this[^] for making a background from a bitmap "mosaïc-ed".
as i don't like cross posting, i dont post the entiere message but the link, but as i may i faster answers here...
it's for you guys. i'm ready !
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
If you can paint a bitmap once, it is pretty simple to do it multiple times, but with different corner
positions...
void PaintMosaic (CDC *pDC, CRect rc, CDC &m_DCPic, CSize m_PicSize)
{
CPoint pt;
GetClientRect (&rc);
for (ptOrigin.y = rc.top; ptOrigin.y < rc.bottom; ptOrigin.y += m_PicSize.cy)
{
for (ptOrigin.x = rc.left; ptOrigin.x < rc.right; ptOrigin.x += m_PicSize.cx)
{
pDC->BitBlt (ptOrigin.x,ptOrigin.y, m_PicSize.cx, m_PicSize.cy, &m_DCPic, 0,0, SRCCOPY);
}
}
}
I've not given you the bits for loading a bitmap, selecting it into a memory dc, etc, as you can
get those from the origina article you linked to.
Iain.
|
|
|
|
|
oh yes
as you say now, it becomes more clear in my mind...
in fact, i'm not familiar with such graphic stuff, that's why i was lost. but now, i would find my way.
thanks very much
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
what is endl?
what's the difference between endl and \n?
|
|
|
|
|
Hello,
endl also flushes the buffer, "\n" does not.
Blog[^]
|
|
|
|
|
so, which is better? or in which case, i should use endl and which i should use \n?
|
|
|
|
|
Thant depends on what you want. If you want that your output doesn't hang around in some buffer, use endl . If you can afford that your output doesn't become visible right away, use "\n".
Consider the following piece of code:
<br />
for( int i = 0; i < 1000; i++ )<br />
{<br />
std::cout << i << std::endl<br />
<< OtherOutput << std::endl;<br />
}<br />
std::cout << "Finished" << std::endl;<br />
The above code snippet is not very optimized. It has to wait for the ouput to flush all the data at every endl! So in this loop you take a great performance hit. The next code snippet is better:
for( int i = 0; i < 1000; i++ )
{
// some heavy calculation
std::cout << i << "\n"
<< OtherOutput << "\n";
}
std::cout << "Finished" << std::endl;
This code runs faster and it flushes the output buffer only when needed (when it's full) and when your calculation is finished.
Hope this helps
Blog[^]
|
|
|
|