|
|
|
Hi:
Meanwhile, do you have a sample code (without using ManagedSpy)? I would like to get the text of the button of the application that is running programmatically.
I downloaded ManageSpy and installed it accordingly. Recompile the code in VS 2005 and ran it. I was able to see the name of a running application objects (buttons, etc, and their properties).
Thanks.
Gbenga
|
|
|
|
|
Hi again:
Here is the piece of code that I am trying to use for this. This code will get the processes' names and their titles with their corresponding id. I'd like to get to the text of a button of a particular process. I don't even need to click it, I only need the value of the text, so that I can execute some message to be sent to someone or write an entry to the Windows event log (which I can do).
/***** Code starts here *****/
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace ProcessTitle
{
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
foreach (Process p in Process.GetProcesses()) //local machine
{
try
{
//try to get a handle on the Windows - Not doing anything with this. I'd like
//to use this to get the text of my button
IntPtr hWnd =
System.Diagnostics.Process.GetProcessById(p.Id).MainWindowHandle;
sb.Append("Windows Title: " + p.MainWindowTitle + Environment.NewLine);
sb.Append("Process Name: " + p.ProcessName + Environment.NewLine);
sb.Append("PID: " + p.Id.ToString() + Environment.NewLine);
}
catch
{
}
}
Console.Write(sb);
Console.Read();
}
}
}
/***** Code ends here ***/
Gbenga
|
|
|
|
|
I'm sorry but it seems like you'll have to use the Spy package.
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
Hi,
I'm trying to implement a drag'n drop from a multiselect listView to a tree. The code is as follows:
private void listView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
{
listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Copy);
}
private void treeView1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(ListView.SelectedListViewItemCollection)))
e.Effect = DragDropEffects.Copy;
}
private void treeView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
//do something here
}
Everything is fine, except that a lot of times the list thinks I'm trying to select items instead of initiating a drag'n drop. Is there a listView setting I'm missing somehow?
thanx
|
|
|
|
|
kozu wrote: except that a lot of times the list thinks I'm trying to select items instead of initiating a drag'n drop
By any chance are you using "Full Row Select" mode?
I've learned that often triggers that behavior. What I did was that when I initiate Drag Drop on the ListView, I turn off FullRowSelect.
This has the added benefit of allowing the user to select multiple items and then DE-select them by clicking a non-highlighted area (with full row select, that can be hard to do if there is no non-highlighted space). When the drag operation ends, or they de-select the items, I turn it back on.
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
I have a VERY simple application used to access Outlook Web Access from my development box. The application runs perfect on my system, the one used to compile. However when I tried to move the app to ANY other system, I run into the following error.
I can open and login to OWA. However, when I click on anything that would open a new window, the new window is not what it should be. Instead it defaults back to the login page. The main form stays logged in.
Now, I'm completely stumped as to why this would do this, but I'm sure it's an easy fix for somebody, so please make my day and help me out here!
modified on Friday, January 04, 2008 6:01:05 PM
|
|
|
|
|
How can i drag and drop user control on double buffered panel ...
Regards
Nemanja
"Work,Work,Work ..."
|
|
|
|
|
hi
how can i get the level of battery and memory in c# code ?
for pocket pc ?
thanks
|
|
|
|
|
Hi.
I have an app that reads the DB, and then populates a panel in my program with a bunch of labels. The user is able to drag those labels anywhere on the panel (basically drag and drop, using MouseDown, MouseMove, MouseUp). Some of those labels have "links" between them which I'd like to represent with lines, connecting one label to another. I'd also like the lines to be redrawn to the new label location once a label is moved by a user. What is the easiest way to do this?
I tried maintaining a list of labels and their links, and updating the link, then just redrawing lines. However, in my MouseUp function, where the links are updated (mouse up means the user "dropped" the label and so it has a new location), the x,y coords of e are always zero:
[pre]
private void my_lbl_MouseUp(object sender, MouseEventArgs e)
{
drag = false;
Point temp;
for (int i = 0; i < Links.Count; i++ )
{
if (Links[i].p1 == old_point1 || Links[i].p1 == old_point2)
{
Links[i].p1.X += e.X;
Links[i].p1.Y += e.Y;
}
if (Links[i].p2 == old_point1 || Links[i].p2 == old_point2)
{
Links[i].p2.X += e.X;
Links[i].p2.Y += e.Y;
}
}
}
[/pre]
Can anyone tell me why e.X and e.Y are always zero when a user moves the labels? Or an easier way to do what I've described above?
Any help or advice is appreciated.
|
|
|
|
|
oops, sorry:
private void my_lbl_MouseUp(object sender, MouseEventArgs e)
{
drag = false;
Point temp;
for (int i = 0; i < Links.Count; i++)
{
if (Links[i].p1 == old_point1 || Links[i].p1 == old_point2)
{
Links[i].p1.X += e.X;
Links[i].p1.Y += e.Y;
}
if (Links[i].p2 == old_point1 || Links[i].p2 == old_point2)
{
Links[i].p2.X += e.X;
Links[i].p2.Y += e.Y;
}
}
}
|
|
|
|
|
I don't know why the arguments in the event args would be broken, but what if you just store the current position in the mouse move ?
In any case, if I am dragging something, I'd expect to update the position in the mouse move event, so I can call invalidate and have the object drawn as it's being moved.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Thank you!
I don't know why it doesn't work in MouseUp, but having it redraw during movement (in MouseMove) works. Well, kinda, but I have the main problem solved.
Thanks again for your help!
|
|
|
|
|
I have done some r&d but i didn't get the best solution. Actually my prob is if i'll try to upload more than 50 MB file, it shows error msg "IE cannot display this page". actually im doing it through HTTP when i use FTP it works fine ..............nything which will work will help a lot to me ....coz it is very urgent ..............waiting 4 responses????????
|
|
|
|
|
I'm not sure about this one but I think there is a setting in webconfig that limits uploaded file size to 10 MB default. I think you need to change that setting to fit your needs.
hope that helps
zilo
|
|
|
|
|
I entirely agree with you.
web.config
<httpruntime maxrequestlength="10240" usefullyqualifiedredirecturl="true" />
|
|
|
|
|
Experts say, program to an interface not to the concreate classes. But does it mean for every single class we build an interface.
|
|
|
|
|
No, that breaks the whole point. The point would be that if you have behaviour that is common between several classes, you create an interface that defines it, so for example if you have 5 classes that know how to validate themselves, you create an IValidate interface, so you can validate all objects via a common interface.
Creating an interface that defines a single class, and doing that for each class, achieves exactly nothing. Factor out the parts of what a class does, where other classes will do the same thing.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
i am a new to C3 and while i am filling a combobox i have this error:
cannot bind to the new display member
so please can u tell me how can i solve this problem?
|
|
|
|
|
You're going to have to show the code that caused it and on what line the exception was thrown. From the error message, it sounds like you're trying to set the ComboBox.DisplayMember property to a column in a DataTable that doesn't exist.
|
|
|
|
|
actually i wanted to fill the combobox from a table in the data base , the code is :
private void fill_locations() {
string st = combo_origion.Text;
SqlDataAdapter dtp = new SqlDataAdapter("get_locations", conn);
dtp.SelectCommand.CommandType = CommandType.StoredProcedure;
dtp.SelectCommand.Parameters.Add("@type_text", SqlDbType.NVarChar).Value =combo_origion.SelectedValue.ToString();
DataSet chds = new DataSet();
dtp.Fill(chds);
combo_locations.DataSource = chds;
combo_locations.DisplayMember = "location";
combo_locations.ValueMember = "location_id";
}
the error is at the last line.
|
|
|
|
|
The error says that the column "location_id" doesn't exist in the returned data table.
Perhaps the actual column name is "location id"?? That should be specified in your code as "[location id]".
|
|
|
|
|
in this line
combo_locations.DataSource = chds;
replace with
combo_locations.DataSource = chds.table[0];
try it
|
|
|
|
|
I have HTML tutorial site http://frogleg.mvps.org/helptechnologies/htmlhelp/hhtutorials.html[^]
Now I need a site(book) to help me use the compiled HTML code more effectively in my application. I would like a detailed book or website that addresses how to best use the helpprovider object to allow scalability and easy of use.
Any input to help would be appreciated.
Thanks
Programmer
Glenn Earl Graham
Austin, TX
|
|
|
|