|
Try to keep this in one thread (and watch out for initial double posts).
The best way I can think of off the top of my head is finding the window for the address bar. Tthis will be a child window of the application's main window (or a child of a child, etc.). Take a look at the Spy++ application if you have Visual Studio installed. Basically you can use it to find windows and look at their properties. Once you find the window, you can look at it's properties and get the text within it.
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
hi
would any body tell me how i can read URL written in browser bar
|
|
|
|
|
Need a little more info...
Do you mean server side (getting the URL of the page basically)? Are you an application trying to get the URL from a browser running on the client? Are you hosting a web browser control?
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
hi
would any body tell me how i can read URL written in browser bar
|
|
|
|
|
From a Browser Helper Object (BHO), you get the IWebBrowser2 information from the IUnknown passed to your implementation of IObjectWithSite::SetSite and check the IWebBrowser2::LocationURL . From a separate application, get the Windows handle (HWND ) of the Internet Explorer application (use Spy++ to find class information, but don't use the HWND s there because they are allocated with every Window) and P/Invoke the native FindWindow function to get the Window with that WNDCLASS . Find the window class of the Address bar, then get that window and get its text by P/Invoking GetWindowText .
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
If someone could shed some light on how to communicate with a usb/hid device. Also, where I can find some more information on the win32 api.
What I have is a magnetic card reader that connects to the usb port and windows picks it up as a hid device. I need to be able to recieve information from this device directly into my application, which is written in C#.
Thank You,
Nits
|
|
|
|
|
What magstrip reader are you using? Don't they provide an API of some sort?
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
The mag card doesn't come with a driver. It actually uses the builtin HID driver from windows.
Thank You,
Nits
|
|
|
|
|
So does it simply act like a USB keyboard and send the magstrip data like it was typed in?
Do you have a model number so I could take a look at what you're using? I've used a few different products before (both MICR, magstrip, and a combination). I've seen magstrips that act like a keyboard and simply type the numbers in when you use them and others that are much more complicated.
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
I typed "HID" into MSDN Online and found quite a bit of information. This is not a simple / short solution and isn't really appropriate for a forum. You should read the documentation provided in those links.
As far as using C#, you might be better off writing a native module. You'll have to P/Invoke a LOT of native functions and recreate many structs, as well as define many preproc defs. If you use a native library with your app, you can make a few simple functions that you can P/Invoke that wrap the functionality you need, thus saving you development times and costs (if applicable).
For more information on P/Invoking, see the .NET SDK documentation for DllImportAttribute .
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hi all
i have some prolvlems with tree :
- it will be flicker when the user resize a window contain a treeview
- when you minimize the application and re maximaize it somethimg strange will happen to the drawing event, sometimes it draw gray rectangulers ??!!
- the last thing when you select any unselected node in the tree by right click the node will get the selection when your mouse button is down but when you releas the button the selection will rerurm to the last selected node in the tree ??!!!!
so if any body can help me with this three things i will be thankful
Mhmoud Rawas
------------
Software Eng.
|
|
|
|
|
mhmoud rawas wrote:
it will be flicker when the user resize a window contain a treeview
There are probably more messages sent in relation to drawing a tree than to any other Windows Common Control. There is a LOT involved in drawing a tree. If you don't like this, derive your own and handle drawing in a separate thread, but there's very little you can do with the TreeView provided in System.Windows.Forms.dll. You could also look for a commercial solution like the UltraWinTree from Infragistics[^].
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Oops...didn't finish!
mhmoud rawas wrote:
when you minimize the application and re maximaize it somethimg strange will happen to the drawing event, sometimes it draw gray rectangulers ??!!
If you're doing any drawing, you must make sure that invalidated regions are drawn. Since the TreeView.Paint method is not fired, you must handle this the "Windows way" by overriding WndProc in your derivitive class and handling the appropriate item drawing codes. See the Windows Common Control documentation in MSDN Library for the Tree-View common control class messages and notifications.
mhmoud rawas wrote:
the last thing when you select any unselected node in the tree by right click the node will get the selection when your mouse button is down but when you releas the button the selection will rerurm to the last selected node in the tree ??!!!!
Because a right-clicked node is selected - it is active. The selected node is therefore not changed. This is common among tree controls, even in the Windows Explorer (which, btw, uses the same Tree-View that the TreeView class wraps). Even several other third-party tree controls that I'm aware of work this way - things that are right-click are necessarily selected. This is also common amongh many other UI elements in many different window managers.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Dear Heath,
Thank you for replay,
as for the paint methode i did not override it any more i have this problems by the default paint method,
and as for the selection changing by right click i have noteced that it is the defualt behavior of the tree view how can we change it to make it selectable by right click
Regards
Mhmoud Rawas
------------
Software Eng.
|
|
|
|
|
For one, I did not say you should override the OnPaint method (always override the OnEventName methods when deriving instead of handling the events in your derivitive class, but be sure to call base.OnEventName at the proper time). Because the WM_PAINT message works a little differently for the TreeView (and for the ListView too, for that matter), overriding OnPaint won't completely work. It is used to notify the TreeView that different elements need painting.
Also, if you really must change the default behavior of the tree (and you really shouldn't - keeping a consistent interface across the window manager, the majority of applications, and your own application is important for user friendliness), you could override the OnMouseDown method, check to see which mouse button is down, then see if there's a TreeNode under the cursor, setting it as the selected node:
protected override void OnMouseDown(MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TreeNode node = this.myTreeView.GetNodeAt(e.X, e.Y);
if (node != null)
this.myTreeView.SelectedNode = node;
}
}
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I have a DataAdapeter.Fill that takes a very long time. I was wondering if there was a way of telling how much is finished. I looked into the class using Reflector but couldn't find anything promising. Anyone have any ideas on how this can be done?
|
|
|
|
|
dear Ak ,
alse i have the same problem with update function it may take time more than fill function according to the changed data in the dataset so if you get any solution for this could you please tell me about it
Mhmoud Rawas
------------
Software Eng.
|
|
|
|
|
Is the delay because of the amount of rows that you are returning, or due to processing on DB box?
Cheers,
Simon
sig :: "Don't try to be like Jackie. There is only one Jackie.... Study computers instead.", Jackie Chan on career choices.
article :: animation mechanics in SVG blog:: brokenkeyboards
|
|
|
|
|
The delay is related ot the ammount of rows which is returned for the database
Mhmoud Rawas
------------
Software Eng.
|
|
|
|
|
I would then suggest looking at the DataReader object instead in this case.
Cheers,
Simon
sig :: "Don't try to be like Jackie. There is only one Jackie.... Study computers instead.", Jackie Chan on career choices.
article :: animation mechanics in SVG blog:: brokenkeyboards
|
|
|
|
|
This is for reading data from the server but what about updateing data to the server you should use the update finction in dataAdapter or you have to write similar function which check the changed data in the dataset to update it and check the deleted data to delete it and check for the new data to add it to the server!!!
Mhmoud Rawas
------------
Software Eng.
|
|
|
|
|
Simon's suggestion is a good one. The DataAdapter actually uses DbCommand s and DataReader s (where applicable) internally. Everything you can do with the DataAdapter can be done with the other two classes I mentioned. Just make a DbCommand for the SELECT (use a DataReader here), INSERT (with option SELECT afterward), UPDATE, and DELETE commands and execute them accordingly, i.e. enumerate the rows, check the DataRow.RowState property, and execute the appropriate DbCommand .
You should get a good decompiler like .NET Reflector[^] and see how the DataAdapter (specifically, a derivitive class like SqlDataAdapter ) works internally.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
|
Marc Clifton wrote:
Is there some benefit to that?
Hmm, not sure about this one, however in all actuality it is best to do the following:
string s = "Nick";
if(s.Length != 0)
MessageBox.Show(s.ToString());
Because the compiler will emit less MSIL in relation to string.Equal(...); . Check this out on the FxCop Rule Topic[^] for System.String.Length .
- Nick Parker My Blog
Last time I checked, all programmers have selective ignorance. I know nothing about 3D graphics. I know a lot about COM. VB gets under people's skin because one can be ignorant of computer architecture and ASM and still get a lot done. - Don Box
|
|
|
|
|
But...
Be careful with .Length because if the string reference is null, you will get an exception.
string s = "Nick";<br />
<br />
if(s != null && s.Length != 0)<br />
MessageBox.Show(s.ToString());
|
|
|
|