|
Hello, the codegurus around the world.;)
Have a nice day!
-Masaaki Onishi-
|
|
|
|
|
Do you need a DLL's source code to generate .tbl or in there some tool that will extract a .tbl file from a .dll ?
I was importing (declaring) functions from a .dll (you may know it RAPI.dll, it comes with MS ActiveSync) into VB software, the functions didn't work and kept returning wierd error values. I tracked down a web site, which offered a copy of a .tbl which described the .dll I was attempting to use. Once registered I had no problem using the .dll . Can someone tell me what was going on ?
Regards
Ray
"Je Suis Mort De Rire"
|
|
|
|
|
Did you try registering the dll?
regsvr32 xxx.dll
Glad you found a solution, its nice to be talking hypothetically instead of urgently.
Bill
|
|
|
|
|
It seems to be a Com component, its Export Table has all the apropriate functions etc. But I can't registry it ... What is a .tbl file, where does it come from ?
Regards
Ray
"Je Suis Mort De Rire"
|
|
|
|
|
.tbl files are type libraries. They are created when an activeX control is built. They contain all the information regarding an objects interfaces. ActiveX controls are somewhat different than ordinary dlls, in that there is a lot more control excercised over the calling of exported functions.
If you look at your project, you will see some additional files created when you build it using the .tbl. It should create a .c file containing helper functions. Your program calls the helpers, which in turn call Invoke in the control, telling it which method (exported function) to invoke.
|
|
|
|
|
I want to recognize a word under mouse position.
How to this problem..
|
|
|
|
|
Do you want to do it in your app, or system wide ? I've seen this question asked often and never seen a solution, apart from maybe rolling your own OCR software.
Christian
After all, there's nothing wrong with an elite as long as I'm allowed to be part of it!! - Mike Burston Oct 23, 2001
|
|
|
|
|
This approach is not bullet-proof, and it's sentence- rather than word-oriented, but it might suit your needs.
- Enumerate all top-level windows on the screen with
EnumWindows() .
- Stick with the first top-level windows lying under the mouse position (
GetCursorPos() , you sure knew that one).
- Repeat the trick with the child windows of this top-level window --
EnumChildWindows() is the API to use now.
- Stick with the first child window under the mouse position, or the top-level window if none of the childs passes the test.
- Retrieve the text of the window with
GetWindowText() .
Problems with z-order seem to be handled OK as the enumeration routines do their job in a top-to-bottom way.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
In my case anywhere on the screen
Hope this helps
|
|
|
|
|
If you found any solution, please contact me.
I need it much in one of my programs. I saw this facility in Webster Dictionary CD before. It works properly, and returns all words under mouse pointer in every window in all applications, That's a great job.
As I thought, it runs two application agtexe16.exe and agtserv.exe from Accent Software. these two executable files are running when u run the main .exe file of dictionary, because they are in task manager. if I shut down these programs, the application doesn't work anymore and we can not see word returns.
I hope these information were useful, but if you found any solution, please give it to me.
Thank you.
|
|
|
|
|
I try to make HTML-Editor using MSHTML.
I downloaded sample program,"CTriEditControl Sample" on microsoft site.
But.... for Example,
When you Press "Enter",Inserting .
I insert " " when "Enter".
I insert HTML-tag " ",pressing "Enter key".
I tried to send message "IDM_?????".
please tell me!!
and if you know good site about MSHTML,please tell me.
|
|
|
|
|
I want my app to search after a EXE to run.
How can my app do that when pressing a button?
------------------------------
CodeCracker - That's me!
------------------------------
|
|
|
|
|
use FindFirstFile and findNextFile.
If you want to use them to recurse through directories then have a self calling function. In this case the function is SearchDir(). I used this particular method because my app always knows the sort of files it is looking for. From this you will see how easy it is to write a single class that does all such searches for you.
Self recursive functions take a little extra care to design. Remember that each instance of the function is entirely independant as far as it's local data is concerned, so any changed data needed in a child has to be passed to the child. Also, the instances will likely trip over each other if you have the function touch global data, I would say to not do this at all, but I can't because I have done it myself deliberately, using 'volatile' data types.
This isn't the fastest method in the world, but its not bad, and it at least shows how the goal is reached. I have left it sort of spread out so its easier to see whats going on.
On my Linux file server I cheat something chronic, I have a process that gathers changes in the /home directory/sub directories so that there are always ready for me to pick up from a text file.
void View::FindMyFiles()
{
CString lString;
lString = "don*.xml" ;
if(FindFile( lString ))
{
//put them through my wonderfull xml parser
//ok, so it occasionally misses a field or
//two, but otherwise, its ok.
}
}
//I like this one seperate from FindMyFiles() so that I can call it
//from other places in my code
bool View::FindFile(CString &FName)
{
CString lString;
m_FindThis = FName;
//change this to recurse or set a/each drive
lString.Format("C:");
//we don't return from this until all of the directories from "C:" have been recursed.
//So you need a way out when what your after is found.
SearchDir(lString);
return TRUE; //TODO: error checking
}
void View::SearchDir(CString sPath)
{
CString sFind,sTemp;
CString sBase,sBase2;
int Done;
WIN32_FIND_DATA lpFindFileData;
HANDLE SearchHandle;
sBase = sPath;
sFind.Format("%s\\*.*",sBase);
SearchHandle = FindFirstFile(sFind,&lpFindFileData);
if( SearchHandle != INVALID_HANDLE_VALUE)
Done = 0;
else
Done = 1;
while( !Done )
{
do
{
if( lpFindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
{
sTemp = lpFindFileData.cFileName;
if( (sTemp.Find("..") != -1) || (sTemp.GetLength()==1) )
;
else
{//this is a dir so call SearchDir with modified path
sBase2.Format("%s\\%s",sBase,lpFindFileData.cFileName);
SearchDir(sBase2);
}
}
else
{//do whatever you want to do with a file name
sTemp = lpFindFileData.cFileName;
//if this first is all you wanted then put a getout point here
}
}
while(FindNextFile(SearchHandle,&lpFindFileData));
Done = 1;
}
}
In reality, I nearly always put my file finder as a seperate thread and let it go in the background long before I may need it, updateing a CFileList type data class. Its so impressive to open a dialog and all drives/files even fileserver dirs/files are instantly accessible. Well to me it is, the users don't tend to know its meant to be slower so no one makes me a coffee or brings me a donut....
We do it for the joy of seeing the users struggle.
|
|
|
|
|
I need information about programming plugins techniques. I currently wrote easiest scheme using DLL's with fixed set of exported functions. But it is preferred to have more flexible mechanism with various additional functions.
Any information, url's, etc. are welcome.
|
|
|
|
|
Like COM components? I'm not sure I understand your question.
/moliate
|
|
|
|
|
Well, I'm not very familiar with COM though I know it can be used.
I need general information about plugins architecture, custom application APIs, etc.
Consider I wanna make somewhat like Photoshop 8BF filters. How could I build such a technique? I'd like to see different methods.
Nev
|
|
|
|
|
How to run the command of ["%ProgramFiles%\\Outlook express\\msimn.exe" /mail] under w2k?
|
|
|
|
|
I think you don't need to give the full path
Simply ShellExecute msimn.exe
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
Nish is a BIG fan of Goran Ivanisevic
|
|
|
|
|
But msimn.exe just is a instance.
|
|
|
|
|
I didnt understand what you meant.
But if you mean you want to start a separate instance of msimn.exe when it is already running, that's not possible. msimn.exe will allow only one instance at a time. If you attempt to start it again, it will activate the current instance.
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
Nish is a BIG fan of Goran Ivanisevic
|
|
|
|
|
My english is pool.The "Instance" meant Sample,not the Handle of program.
In my app,I want to run the Windows Default Mail Program.The code is following:
//...................
strDefaultMailCmd = registry.ReadString(strMailReg);
// the Value of strDefaultMailCmd: "%ProgramFiles%\\Outlook Express\\msimn.exe" /mail
if(!strDefaultMailCmd.IsEmpty())
ShellExecute(NULL,"open",strDefaultMailCmd,"",SW_SHOW);
But outlook express is not run.
I want to know how to let windows resolve "%ProgramFiles%"
Thanx
PS: what is "Goran Ivanisevic".
|
|
|
|
|
Z.M Chen wrote:
I want to know how to let windows resolve "%ProgramFiles%"
You need to use SHGetSpecialFolderLocation, SHGetSpecialFolderPath to convert "%ProgramFiles% to the actual path
Z.M Chen wrote:
PS: what is "Goran Ivanisevic".
Goran Ivanisevic is a Croatian Tennis player and probably the owner of the greatest and most lethal first serve in the history of tennis.
Sonork ID 100.9786 voidmain
www.busterboy.org
Nish is a BIG fan of Goran Ivanisevic
|
|
|
|
|
Why do you want to run that application?
I don't Understand....
best Regards
Carlos Antollini.
|
|
|
|
|
I'm trying to change the font of a CTabCtrl. Can anyone help me?
|
|
|
|
|
CTabCtrl is derived from CWnd
You can use CWnd::SetFont
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
Nish is a BIG fan of Goran Ivanisevic
|
|
|
|