|
One way is to use DirectShow[^] for the video. There's a video mixing renderer (VMR)
that does bitmap-on-video overlays.
If you render the video yourself, or have access to the video frames, you can draw
on them before or as they are rendered.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Many years ago, Jeffrey Richter wrote a program to show how to delete a program itself when it was closed. It sounds very funny, and I tried this program yesterday. I saidly found that the program does deleted but the temp file still exist. It seems that FILE_FLAG_DELETE_ON_CLOSE flag doesn't work on a exe file.
Here is the source code.Any one knowns why the temp file doesn't get deleted?
int WINAPI _tWinMain(HINSTANCE h, HINSTANCE b, LPTSTR psz, int n)<br />
{<br />
if (__argc == 1) <br />
{<br />
TCHAR szPathOrig[_MAX_PATH], szPathClone[_MAX_PATH];<br />
GetModuleFileName(NULL, szPathOrig, _MAX_PATH);<br />
GetTempPath(_MAX_PATH, szPathClone);<br />
GetTempFileName(szPathClone, __TEXT("Del"), 0, szPathClone);<br />
CopyFile(szPathOrig, szPathClone, FALSE);<br />
HANDLE hfile = CreateFile(szPathClone, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, NULL);<br />
TCHAR szCmdLine[512];<br />
HANDLE hProcessOrig = OpenProcess(SYNCHRONIZE, TRUE, GetCurrentProcessId());<br />
wsprintf(szCmdLine, __TEXT("%s %d \"%s\""), szPathClone, hProcessOrig, szPathOrig);<br />
STARTUPINFO si;<br />
ZeroMemory(&si, sizeof(si));<br />
si.cb = sizeof(si);<br />
PROCESS_INFORMATION pi;<br />
CreateProcess(NULL, szCmdLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);<br />
CloseHandle(hProcessOrig);<br />
CloseHandle(hfile);<br />
}<br />
else<br />
{<br />
HANDLE hProcessOrig = (HANDLE) _ttoi(__targv[1]);<br />
WaitForSingleObject(hProcessOrig, INFINITE);<br />
CloseHandle(hProcessOrig);<br />
DeleteFile(__targv[2]);<br />
}<br />
return(0);<br />
}
A Chinese VC++ programmer
|
|
|
|
|
I didnt try to it but maybe you can run a batch file and on that file write for delete your file and itself when you want to close your program.
|
|
|
|
|
Thank you!
What you said is one of the many ways to delete a program itself.
A Chinese VC++ programmer
|
|
|
|
|
You're welcome.
|
|
|
|
|
in my current project i need to create/delete a user/group using win32 apis ,
is it possible to do so ...If so whats the api i need to call ??
|
|
|
|
|
|
Thanks mark .....
vineesh
|
|
|
|
|
And this great book «Programming Server-Side Applications for Microsoft Windows 2000» will help you a lot.
A Chinese VC++ programmer
|
|
|
|
|
Hi, i have a variable of type float that get a return value
thats greater than what float or double, long double etc can hold.
The return data does not need to be so precise, example it holds 1.1520230e-007 when it overflows, and i really just
need 1.1520230. However when the variable overflows like this i cant print it, i cant cast it or move it
to a buffer.
Is there a c\c++ function that truncates it, i have tried to cast the return data as type float but no success.
Also i cant pass it to a buffer to then shorten it later as VS ignores the data except in the debug-watch window.
Any ideas are much appreciated.
Regards, Fred
|
|
|
|
|
Hi Fredrick,
sorry, but this does not make much sense.
Overflow is when a number becomes so large the data type can no longer represent it;
it would happen e.g. when you start with one, and keep multiplying by 10.
1.1520230e-007 is not the same as 1.1520230; it is actually 10 million times smaller.
also a number such as 1.1520230e-007 is far away from overflowing either the float or double type.
I suggest you rethink your problem, and/or reformulate what it is you want.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Hi all,
I'm really desperate to find out how I could link the webcam to a C++ program as I need to launch it on a real time basis! Is there any interface I could use as I'm really clueless as to how I could do it!
Thank You!
With regards,
Jas
|
|
|
|
|
|
i want to create a new process thorugh my programm to simulate 3 lifts.could any one tell me how to create a new process in linux using C
|
|
|
|
|
You might want to try searching for a Linux programming site. The Code Project is almost exclusively oriented towards Windows.
|
|
|
|
|
try the system() API.
int system(
const char *command
);
I believe thats a standard call available on Windows and Linux.
|
|
|
|
|
Of course this is the wrong forum for your question. Anyway, Linux provides fork and execv functions. Have fun with man to find out their usage.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Hai friends
When i create one sample project...
class EDCService :public IFileIO
Service - oneclass
IFileIO -interface class
then, i create instance of the class
EDCService::IFileIO fio;
finallay i compiled...showing below error..please suggest me!!
error C3153: you cannot create an instance of an interface
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
|
How to solve that error?
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
|
hi michel thanks 2 your replay...Already i try this logic ..wen i add that dll..via
(#using "mscorlib.dll")..
showing this error:
fatal error C1190: managed targeted code requires a '/clr' option
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
You are creating object of the Interface IFileIO
rowdy_vc++ wrote: EDCService::IFileIO fio;
Do this:
EDCService fio;
Is this you want??
Manish Patel.
B.E. - Information Technology.
|
|
|
|
|
yes i try ...but showing this error
error C2259: 'EDCService' : cannot instantiate abstract class
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
Do you realy need for IFileIO interface?
If you don't need it then remove it.
What declarations you made inside it?
Manish Patel.
B.E. - Information Technology.
|
|
|
|