|
what are the basic steps to make a call from PC to phone anywhare in the world using TAPI 3.0.
There are certain methods which are provided by TAPI but not supported when coded.How to cope with it.
|
|
|
|
|
i want to establish my connection with any phone number through internet using TAPI from PC and to send my voice data to that PC also inform me if any one have information about this topic later i also want to recieve data from phone
thank you
|
|
|
|
|
It all depends on the hardware at the receiving end, PC to IP phone is fairly straight forward but PC to PST requires hardware to translate.
What kind of hardware do you have involved?
Michael
Logic, my dear Zoe, merely enables one to be wrong with authority. - The Doctor
|
|
|
|
|
how can dial number sitting at PC using IP to connect with another phone
|
|
|
|
|
What kind of hardware is at both ends?
What is the exact problem you are having? TAPI 3 is fairly straight forward for making calls (the platform SDK has lots of samples)
Michael
Logic, my dear Zoe, merely enables one to be wrong with authority. - The Doctor
|
|
|
|
|
I have a need of a way to bring one application to the foreground from another application. Application 'A' is either laucnhed by itself or it can be launched from application 'B' upon a button press.
There's no guarantee which app was started first, or if the application to be brought to the foreground (app 'A') is even running at that point in time. If 'A' is not running I am launching it upon a button press in app 'B' - but if 'A' is already running I want to bring it to the foreground to alert the user it's already running (and not spawn a second instance of app 'A').
I'm currently using a mutex to check to see if app 'A' is already running, but I am not sure how to bring it to the foreground when it is.
Any thoughts or ideas on how to proceed?
: Dean 'Karnatos' Michaud
|
|
|
|
|
Try to use SetForegroundWindow() then use ShowWindow() with SW_SHOWNORMAL flag.
Michael Liu
|
|
|
|
|
To set the foreground, I need to either get:
A) hWnd for app 'B' while in app 'A' (not sure how to do that) to use "BOOL SetForegroundWindow(HWND hWnd)"
B) Get a pointer to the CWnd of app 'B' (not sure how to do this either) to use "BOOL CWnd::SetForegroundWindow( )"
: Dean 'Karnatos' Michaud
|
|
|
|
|
Are you running under W2K or XP? If so, SetForegroundWindow no longer works unless you own the process. There is a workaround - you attach your thread to the thread with current foreground thread and then SetForegroundWindow works. Check the link for a good example.
D
http://www.mooremvp.freeserve.co.uk/Win32/framed_tip033.htm
|
|
|
|
|
I need to support Win98 to WinXP... I'd noticed in the MSDN Library that SetForegroundWindow() was not working as it had before in WinXP. Thank you though
: Dean 'Karnatos' Michaud
|
|
|
|
|
Ok, after mucking around with this a little more, seems this is *one* way of getting the job done.
I am calling this code once a button is pressed to bring up an application to the foreground.
1) CWnd::FindWindow() finds the window based on the file name.
2) CWnd::SetWindowPos() shows the found window as on top, without resizing it or moving it.
3) CWnd::ShowWindow() is making sure the application is not minimized/maximized.
BOOL rc;
CWnd* my_wnd = FindWindow(NULL, "Application-Name");
if (my_wnd != NULL)
{
rc = my_wnd->SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW);
rc = my_wnd->ShowWindow(SW_SHOWNORMAL);
}
What I'd like to know is another way of getting the CWnd pointer to the window - I don't like writing code that depends on another applications having the same title (it very-well could change without me knowing, either by the dept. that wrote the code changing it and forgetting to notify me, or someone's changing the title of it for some purpose of their own).
So, now my search moves onto looking for another way of finding a specific window that is running since FindWindow() relies on the window title not changing.
: Dean 'Karnatos' Michaud
|
|
|
|
|
SetForegroundWindow. with some caveats.
Here's a great article :
http://www.etree.com/tech/Articles/attachthreadinput.pdf
And here's some code to do it:
DWORD MyThreadId=GetCurrentThreadId();
DWORD ForeThreadId=::GetWindowThreadProcessId(::GetForegroundWindow(),0);
HWND hForegroundMe=0;
// Get handle to the window you want to place in the foreground.
// For instance use EnumThreadWindows if you know the ThreadId
// (perhaps you have it saved in a shared memory?)
// or use EnumWindows if you know the window text of the window
// you are looking for...
if (GetWindowLong(hForegroundMe,GWL_STYLE)&WS_MINIMIZE)
::ShowWindow(hForegroundMe,SW_RESTORE),::UpdateWindow(hForegroundMe);
if (ForeThreadId!=MyThreadId)
AttachThreadInput(ForeThreadId,MyThreadId,TRUE);
::SetForegroundWindow(hForegroundMe);
if (ForeThreadId!=MyThreadId)
AttachThreadInput(ForeThreadId,MyThreadId,FALSE);
|
|
|
|
|
I'm experimenting with hooks, trying to prevent a BN_CLICKED message from reaching it's target window (a 3rd-party app).
I've successfully hooked the event using a WH_CALLWNDPROC hook. Unfortunately this type of hook doesn't allow the message to be altered.
All my attempts hooking BN_CLICKED using other hooks like WH_GETMESSAGE, WH_MSGFILTER and WH_SYSMSGFILTER have failed. These hooks receive lots of other messages, but not BN_CLICKED. Making the hooks system-wide didn't help either.
Can someone tell me if what I'm trying to do is even possible?
Thanks...
/ Z
|
|
|
|
|
It is possible - I've done it in several applications. I have successfully used two different methods. 1) Global message hooks and 2) Remote Thread Injection. #1 works if you need to search for the target process(es) and #2 is good if you know the process already. For both cases, I use GWL_WNDPROC to replace the WndProc with my own. Then you get every message and can supress the ones you don't want the main WndProc to get.
If you need some more help, let me know. I found most of the examples of how to do both #1 & #2 somewhere around CodeProject.
D
|
|
|
|
|
Thanks a lot, I'll check out the GWL_WNDPROC and get back to you if I need further assistance.
I'm delighted to hear that my efforts trying to do this were not in vain!
/ Z
|
|
|
|
|
Anyone knows how to deal with ghost windows in XP? How to get rid of the ghost windows in windows XP system with Platform SDK? Thanks.
Michael Liu
|
|
|
|
|
I think you'd better call Ghost Busters.
Sorry, I couldn't resist.
Honestly though, I have no idea what you are talking about.
Jason Henderson quasi-homepage articles "Like it or not, I'm right!"
|
|
|
|
|
Windows XP: If a top-level window stops responding to messages for more than several seconds, the system considers the window to be hung and replaces it with a ghost window that has the same Z order, location, size, and visual attributes. This allows the user to move it, resize it, or even close the application. However, these are the only actions available because the application is actually hung. When in the debugger mode, the system does not generate a ghost window.
reference from MSDN.
|
|
|
|
|
|
|
|
Test
|
|
|
|
|
|
How do I write a regular expression for ISO8601 date and time with timezone? More specifically, how do I detect the presence of the timezone bit using regular expressions.
I'm allowing a very limited set of the possible formats for ISO8601 to make it easier.
eg.s "2002-03-22T14:26:39Z", "2002-03-22T14:26:39+01:00", "2002-03-22T14:26:39-01:00"
I get stuck when looking for the '-' sign and I don't seem to be using the escape sequence properly. I'm working from our own http://www.codeproject.com/cpp/rexsearch.asp, but clearly don't understand them properly.
Thanks in advance.
Al.
Alice thought that running very fast for a long time would get you to somewhere else. " A very slow kind of country!" said the queen. "Now, here , you see, it takes all the running you can do, to keep in the same place".
|
|
|
|
|
Hi
I discovered that when I add a very long CString (>260 characters) as the text of a CListCtrl item, it won't get displayed completely even though I set the column width to the maximum. Can someone please help me to fix that problem, it's really urgend!!
Thank you
Grit
|
|
|
|