|
Okay let me tell you why I am doing all these.
We are developing a software which migrates the application specific
properties.
Per say I want to migrate all settings of MS Word from my pc to another pc.
i.e. all those preferences which I have set in my MS Word applications like,
spellings and grammer check, library, languages, margine settings, rulers etc
will get captured through my application and will migrate the same settings
onto another computer.
Now all of these settings are stored either into registry or into some
files. So I want to capture all such registry items and files. But my program
does not know the registry location for a particular application. Most of the
application specific data are stored under
HKLM/Software/Appliication_specific_key. But there is no gurantee that this
Application_specific_key is exactly as the name of the application. So how do
I capture identify the location in the registry which I need to capture. So
what I am doing is I am continuously monitoring registry and filesystem using
regmon and filemon utilities and hitting all menu items which will change
preferences of my application. Because all such preferences would be
accessible through menu only. I dont see any other way of editing the
preferences.
So this is how I go about it. If you have any better suggestion to achieve
the same goal, let me know.
Your help is appreciated in this regards.
--------------
Vaibhav...
|
|
|
|
|
How to automate autocad with VC++
which one to choose MFC/ATL,Autolisp/VC,ObjectARX/any other?
Please Help
|
|
|
|
|
Automation is just a limited part of COM so any programming language will suffice. It all depends on the rest of the application.
Johannes
|
|
|
|
|
I'm trying to use some Excel COM from Visual C++, but am having difficulty calling certain functions. For example, take the WorkSheets.Add method. The function declaration is as follows:
LPDISPATCH Add(const VARIANT& Before, const VARIANT& After, const VARIANT& Count, const VARIANT& Type);
By looking in the Excel VBA Help, I can get documentation for this method:
Add Method (Worksheets Collection)
Creates a new worksheet. The new worksheet becomes the active sheet. Returns a Worksheet object.
Syntax
expression.Add(Before, After, Count, Type)
expression Required. An expression that returns a Worksheets object.
Before Optional Variant. An object that specifies the sheet before which the new sheet is added.
After Optional Variant. An object that specifies the sheet after which the new sheet is added.
Count Optional Variant. The number of sheets to be added. The default value is one.
Type Optional Variant. The sheet type. Can be one of the following XlSheetType constants: xlWorksheet, xlExcel4MacroSheet, or xlExcel4IntlMacroSheet. The default value is xlWorksheet.
Remarks
If Before and After are both omitted, the new sheet is inserted before the active sheet.
OK, now for some example code. I can add a new worksheet quite easily using the following code:
COleVariant VOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);<br />
ws.Add(VOptional, VOptional, VOptional, VOptional
The problem is that this default usage inserts the sheet before all current sheets in my workbook, but I want to insert it after all the other sheets. In Excel VBA, I can do this by simply running:
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
However, I'm having real trouble finding what the data type of the 'After' argument needs to be in C++ and I can't find any sample code anywhere! I have found hundreds of examples passing numbers or strings, but not objects! Can anyone supply some sample code?
Using the _Worksheet.Move method would also accomplish the same thing, but I have the same problem, so any help would be greatly appreciated!
|
|
|
|
|
Just in case anyone needs to do this, I figured out how to do it. The 'after' parameter needs to represent the IDispatch pointer of the worksheet you want to add the new sheet after. So you have to do something like this:
COleVariant var;<br />
var.vt = VT_DISPATCH | VT_BYREF;<br />
var.ppdispVal = &(objSheet.m_lpDispatch);
// Add the new sheet AFTER the sheet referenced in 'matt'
NewSheet = objSheets.Add(VOptional, var, VOptional, VOptional);
|
|
|
|
|
Hello,
I need to check if a given machine exists on LAN or Not, the only information I can use to call the function is Machine Name nothing else.
Pls Help.
Thanks n Regards.
RuchirDhar Dwivedi
Software Engineer
Windowmaker Software Pvt.Ltd.
Baroda, India.
|
|
|
|
|
you have to make your function that will check for existance of Machine in Network
you can these api to enumerate the Machine on network:-
Use <code>WNetOpenEnum</code> to Open Handle then do
Enumertation by <code>WNetEnumResource</code> finally close
it by <code>WNetCloseEnum</code>
"I Think this Will Help"
[Vote One Here,.....]
<h5
alok gupta="" <br=""> visit me at http://www.thisisalok.tk
|
|
|
|
|
I copy a .rc file to my program.
However, my funciton could not load the resource.
Such as string,loadstring() return 0.
Where should I reset?
|
|
|
|
|
Did you copy the associated resource.h file also?
« Superman »
|
|
|
|
|
|
the string table of the resource editor associate an ID to a string ; BUT :
.rc file :
IDS_MY_STRING "Hello World\n"
resource.h file :
#define IDS_MY_STRING 1018
(for example)
-> SO, if the ID is not #define d, the resource table don't know it.
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
The string has been defined in resource.h file.
Here is the statement:
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
Maybe I should change the hInstance, because these code s are within a dll , not a exe file.
How to get the hInstance of current dll ? Not MFC, but Windows API.
|
|
|
|
|
Is the dll a resource only dll.
You may have to use FindResource or LoadResource.
« Superman »
|
|
|
|
|
Hi,
How can I write a multilanguage application in VB 6, VC6 ?
Thank !
To love in vain more than love no one.
|
|
|
|
|
hi friend,
maybe you should split your programs into DLLs, since they are language independent.
Write a DLL in VB , VC++, Delphi, or anything else and use them from your main program.
this would be a good method
Regards,
Mohammad
|
|
|
|
|
Put your code in one place and your resources in a separate DLL.
Load the appropriate language DLL at runtime.
All functions loading resources accept a 'handle' of the module where the resource to be loaded must come from.
|
|
|
|
|
I want to send a bmp from one client to another client using the Sockets.
How can i do it. Because i tried to read *.bmp file and send it to remote client. But unfortunately it didnt receive what i intended to send. Do i need to study BMP File Format. If yes from where coz i cudnt find any by searching. Please give me a good ref to it
Thankx
|
|
|
|
|
Hi friend,
I really didn't try to send large amounts of data over a network, so what i write here is just a try to help:
lets assume that both client and server know how much data is to be sent.
Then:
on the sending terminal:
1. Load the Bitmap using LoadImage.
2. Attach it to a CBitmap Object.
3. Allocate memory using GlobalAlloc function, equal to the size of bmp
4. Get Bitmap Data using GetBitmapBits()
5. send these data using send(), with each send() sends about 1KB of data.
On the receiving terminal:
1. Create a compatible CBitmap Object.
2. use recv() to receive the whole image data. (multiple recv() calls may be needed)
3. use setbitmapbits() to set image data, to what was received.
4. now use this object as a CBitmap.
Remember that on the receiving terminal you must first set bitmap info (i.e. bitsperpixel, width ,...) to the same values as the bitmap on the source
And Good Luck
Regards,
Mohammad Gdeisat
now you have
|
|
|
|
|
Thank You so much Friend ... I will try and hope it works :P
|
|
|
|
|
one thing more since GetBitmapBits() and SetBitmapBits() are now obselete in Win32 programming, I will have to use GetDIBits() and SetDIBits() instead. Thankx alor for the help and guidance
|
|
|
|
|
I am giving you only logic, you have to implement the rest.
#1 Read whole Bmp File in Char array(character by character, open that in text mode), don't forget to add NULL character to complete the char array.
#2 Send that through socket and after receving it another end copy all the data in to empty file.
#3 the file now contain required data
or you can go for this example,if you facing difficult implemeting above logic
http://www.codeproject.com/internet/SocketFileTransfer.asp[^]
"I Think this Will Help"
[Vote One Here,.....]
<h5
alok gupta="" <br=""> visit me at http://www.thisisalok.tk
|
|
|
|
|
yah i try it many days ago but i failed then ... i dont exactly rem the problem...i was sending the file size correctly...did broke the file into pieces and send it but failed somehow...well i liked the other method mentioned in this thread so might give a try to it now....anyways thanx for the help
|
|
|
|
|
Now trying to hook joystick.but it's not easy to me.
below is my source.
//------------------------------------------------------------------
// Set Hook
//------------------------------------------------------------------
BOOL SetHook( HWND hWnd )
{
g_HwndServer = hWnd ; // Set Hook Server
if(joySetCapture( g_HwndServer , JOYSTICKID1, 0, FALSE))
{
MessageBox(g_HwndServer, "Unable to capture the joystick",
NULL, MB_OK);
}
// set movement threshold
//.......................
{
UINT nThreshold;
joyGetThreshold(JOYSTICKID1, &nThreshold);
if (nThreshold < 100)
{
nThreshold = 100;
joySetThreshold(JOYSTICKID1, nThreshold);
}
}
g_Hook = SetWindowsHookEx( WH_GETMESSAGE , GetMessageProc, (HINSTANCE)g_Module , 0 ) ;
return false ;
}
//------------------------------------------------------------------
// Remove Hook
//------------------------------------------------------------------
BOOL RemoveHook()
{
joyReleaseCapture(JOYSTICKID1);
UnhookWindowsHookEx( g_Hook ) ;
return true ;
}
//--------------------------------------------------------------
// Hook Procedure - Keyboard
//--------------------------------------------------------------
LRESULT CALLBACK GetMessageProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LPMSG msg=(LPMSG)lParam;
if ((nCode >= 0) && PM_REMOVE == wParam &&
(msg->message == MM_JOY1MOVE
{
MessageBox( g_HwndServer, "Joistick",
NULL, MB_OK);
}
// We must pass the all messages on to CallNextHookEx.
return ::CallNextHookEx( g_Hook , nCode , wParam , lParam );
}
the problem is that though i don't move joystick this above code is
executed.
i hope you help me to solve this problem.
God bless you!
nice to meet u
|
|
|
|
|
Why aren't you using DirectInput?
Don't try it, just do it!
|
|
|
|
|
your advice is correct.
DirectInput is very good. i don't need to hook joystick
it is enough to use directInput.
Thank you.
God bless you.
nice to meet u
|
|
|
|
|