|
|
Can you try using ThreadPool.QueueUserWorkItem method?
Main Loop method will call method one.
That method will execute code specific to it.Then it will Sleep for 1 second and then it will queue the next method two.
Loop()
{
ThreadPool.QueueUserWorkItem(new WaitCallback(one))
}
private void one(object state)
{
//Add you code here
Thread.Sleep(1000);
ThreadPool.QueueUserWorkItem(new WaitCallback(two))
}
private void two(object state)
{
//Add you code here
Thread.Sleep(1000);
ThreadPool.QueueUserWorkItem(new WaitCallback(three))
}
Thanks,
Pradnya
|
|
|
|
|
Hi Experts,
I have an application in C# where i am calling a .reg file using process class. now i want to send keystroke y first and then i need to wait for next megssage box to appear then send enter to it.
System.Diagnostics.Process.Start(Application.StartupPath + "\\dsnbackup.reg");
SendKeys.Send("{y}");
SendKeys.Send("{ENTER}");
now first ket strok is working fine but not the second one. Because the second window takes some time to appear. Can anybody tell me how can i wait for the window to appear first then send the enter key stroke.
Please Help
Regards,
Paramhans Dubey.
|
|
|
|
|
Why not put a #n seconds delay between the commands.
Find out the windows handle of the dialog and poll the windows collect to detect when it is present.
|
|
|
|
|
Hi,
the quick and dirty solution is by inserting a sufficiently large delay (Thread.Sleep).
the higher performance solution I typically use needs some P/Invoke to Win32 functions such as GetForegroundWindow and GetWindowText, all in a polling retry-and-sleep loop.
Luc Pattyn
Local announcement (Antwerp region): Lange Wapper? Neen!
|
|
|
|
|
By Replacing
System.Diagnostics.Process.Start(Application.StartupPath + "\\dsnbackup.reg");
with
System.Diagnostics.Process.Start("RegEdit.exe", "/S " + '"'.ToString() + Application.StartupPath + "\\dsnbackup.reg" + '"'.ToString());
solved my problem. /S is used for merger in silent mode.
|
|
|
|
|
Thanx anyways guys for your replies.
|
|
|
|
|
Hi,
I have two comments:
1.
What you say does not achieve "i want to send keystroke y first and then i need to wait" at all.
Make sure you ask the right question in future.
2.
There is a shorthand for '"'.ToString() , it is "\"" and you can even merge it with a previous string literal.
Luc Pattyn
Local announcement (Antwerp region): Lange Wapper? Neen!
|
|
|
|
|
I have an object (InputFile) that I am able to successfully serialize to XML and deserialize back into the object through an IXmlSerializable interface.
Now I'm trying to serialize a List<inputfile> to XML. I'm using the following code:
XmlSerializer s = new XmlSerializer(typeof(List<Inputs.InputFile>));
TextWriter w = new StreamWriter("c:\\out.xml");
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
w.Serialize(w, Global.Pool.InputFiles, ns);
w.Close();
This produces the following XML:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfInputFile>
<InputFile FileName="file1.hdr" GUID="XYZ" TimeShift="0">
</InputFile>
<InputFile FileName="file2.hdr" GUID="ABC" TimeShift="0">
</InputFile>
</ArrayOfInputFile>
This looks well formed and good to me.
I use the following to deserialize:
XmlSerializer s = new XmlSerializer(typeof(Inputs.InputFile));
TextReader r = new StreamReader("c:\\out.xml");
List<Inputs.InputFile> a = (List<Inputs.InputFile>)s.Deserialize(r);
r.Close();
I get an exception on the Deserialize line:
InvalidOperationException: {"There is an error in XML document (2, 2)."}
{"<ArrayOfInputFile xmlns=''> was not expected."}
I've had no issues Serializing/Deserializing List<>s before.
Any ideas where I went wrong?
Thanks,
Aaron
modified 12-Jul-20 21:01pm.
|
|
|
|
|
Hi,
I guess the problem comes with the namespace (or better the missing namespace). First I would try to serialize without providing a namespace (just put away the XMlSerializerNamespace). If this doesn't work, provide a namespace (e.g. http://tempuri.org)
Please let me know if this helps you.
Regards
Sebastian
|
|
|
|
|
Hi,
Thank you for the suggestions!
When I removed the namespace from the serialization the resulting ArrayOfInputFile looks like:
<ArrayOfInputFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
On Deserialization, another InvalidOperationException: {"There is an error in XML document (2, 2)."} (2,2 cooresponds to the A in ArrayOfInputFile): {"<ArrayOfInputFile xmlns=''> was not expected."}
Providing a namespace, the XML becomes:
<ArrayOfInputFile xmlns:asdf="http://www.helloworld.com/">
With identical exceptions and error messages.
Any other information I can provide?
Thanks,
Aaron
modified 12-Jul-20 21:01pm.
|
|
|
|
|
Hi,
the second example you provided looks a bit strange. What happens if you change the xml before deserialization so that it looks like this:
<ArrayOfInputFile xmlns="http://www.helloworld.com/">
or
<asdf:ArrayOfInputFile xmlns:asdf="http://www.helloworld.com/">
|
|
|
|
|
Hello again,
If I change it to your first form I get another InvalidOperationException, but the message this time is: {"<ArrayOfInputFile xmlns='http://www.helloworld.com/'> was not expected."}
If I change to the second form I also get: {"<ArrayOfInputFile xmlns='http://www.helloworld.com/'> was not expected."}. Interestingly it doesn't include the "asdf:" at the beginning.
Should I encapsulate this list in a class and manually serialize/deserialize?
Thanks for the help so far!
modified 12-Jul-20 21:01pm.
|
|
|
|
|
Wow, I feel stupid, the error is so simple.
On my deserialization you can see the type is Inputs.InputFile, not List<inputs.inputfile>. Changing it makes everything work!
Thanks for your help and looking at this problem.
modified 12-Jul-20 21:01pm.
|
|
|
|
|
I have been using the following code from msdn to create a slide. But how to create a chart in a slide?
const string sTemplate = "C:\\Program Files\\Microsoft Office\\Templates\\Presentation Designs\\Blends.pot";
const string sPic = "C:\\WINNT\\Soap Bubbles.bmp";
PowerPoint.Application oApp = default(PowerPoint.Application);
PowerPoint.Presentation oPres = default(PowerPoint.Presentation);
PowerPoint.Slide oSlide = default(PowerPoint.Slide);
bool bAssistantOn = false;
//Start Powerpoint and make its window visible but minimized.
oApp = new PowerPoint.Application();
oApp.Visible = Office.MsoTriState.msoCTrue;// Microsoft.Office.Core.MsoTriState.msoCTrue;
oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized;
//Create a new presentation based on the specified template.
oPres = oApp.Presentations.Open(sTemplate, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoCTrue, Microsoft.Office.Core.MsoTriState.msoCTrue);
//Build Slide #1:
//Add text to the slide, change the font and insert/position a
//picture on the first slide.
oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly);
{
oSlide.Shapes[1].TextFrame.TextRange.Text = "My Sample Presentation";
oSlide.Shapes[1].TextFrame.TextRange.Font.Name = "Comic Sans MS";
oSlide.Shapes[1].TextFrame.TextRange.Font.Size = 48;
}
oSlide.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, 200, 200, 200, 200);// AddPicture(sPic, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 150, 150, 500, 350);
//oSlide.Shapes[1].Table.Rows[1].Cells[1].Borders[ PowerPoint.PpBorderType.ppBorderLeft].
oSlide = null;
PowerPoint.SlideShowSettings oSettings = default(PowerPoint.SlideShowSettings);
oSettings = oPres.SlideShowSettings;
oSettings.StartingSlide = 1;
oSettings.EndingSlide = 1;
//Prevent Office Assistant from displaying alert messages.
bAssistantOn = oApp.Assistant.On;
oApp.Assistant.On = false;
//Run the slide show and wait for the slide show to end.
oSettings.Run();
while (oApp.SlideShowWindows.Count >= 1) {
System.Windows.Forms.Application.DoEvents();
}
oSettings = null;
//Reenable Office Assisant, if it was on.
if (bAssistantOn) {
oApp.Assistant.On = true;
oApp.Assistant.Visible = false;
}
//Close the presentation without saving changes and quit PowerPoint.
oPres.Saved = Microsoft.Office.Core.MsoTriState.msoCTrue;
oPres.Close();
oPres = null;
oApp.Quit();
oApp = null;
GC.Collect();
|
|
|
|
|
Can someone help me with my project on developing a IT Helpdesk?
my project includes:
- web based helpdesk for the end users.
-we have more then 1000 end users in our company.
-the helpdesk should enable users to lodge in any query or complain about having problem with their harware, eg, if the printer is not working.
-if users can not login to the system
-forgot their password or wants their password to be resetted and so on.
-they should be able to add their name, Id number, department,email address,date and time. Also there should be a column for official use only in which the IT administrator will fill in their name, the solution of the problem and the date and time it was fixed
-their should be a submit button which sends the copy of the form to the IT administrator. Then the IT administrator will have to fill in the official column and the form will be saved i the system for future refernce.
i am trying to use C# for the first time for this project.
Can someone tell me how to start with this project since this is my first project after i have joined this It department this month. i have to make it from scratch.
|
|
|
|
|
monishalata wrote: i am trying to use C# for the first time for this project.
So, let's get this right ? you're writing system which your company, which has over 1000 employees, will use to run their helpdesk ? You've never written C# code before ? Have you coded before at all ? Do you work for Telstra, or perhaps Dell ?
You should look for another job. Your boss is obviously a retard, to think that you can somehow create a workable system with no experience.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
if you can't help out then dont act too smart..if i don't have work how will i get experience??? its written that its my first project and am a fresh graduate from uni..we did not use C# for programming..
|
|
|
|
|
Christian's comment wasn't the most polite. However, he has a point - developing an IT Helpdesk system, to support 1000+ end users etc, is a big job, and not something that a new to the language programmer could implement without MUCH strife.
This isn't a dig at you, as it sounds like the requirements are fairly simple and i'm sure that given enough time you could achieve your bosses aims. However, the thing is, your boss is a bit of a dumb-ass. There are so many off the shelf systems that could do what you guys want, that its ridiculous to reinvent the wheel and write yet another system (with all the security gotchyas, bugs, etc that that implies) considering you could just get a premade one and customize it, and make any bugs the vendors problem, not yours.
I highly highly doubt you will be able to churn out something cheaper than the established vendors, especially since their costs are spread across all their customers.
|
|
|
|
|
Hay, dude, pretty much you enter the wrong field, I really can't image a person, like you, with little c# experience can build a workable system from scratch. Your HR or your manager is a .....
Guess what, don't expect people in here are willing to help you, at least not me.
|
|
|
|
|
If you can't help..then don't reply...keep ur comments to urself
|
|
|
|
|
First of all, you need to learn c# and do some "hello world" ex. Secondly you have to learn SQL to save data fields to Database.
Here is a link to a free C# PDF ebooks
Create few apps where you save data to SQL Server or Access before you start with your first project.
|
|
|
|
|
Blikkies - does the link work - I got an error but it could be my net nazi.
The link reads as an excellent resource for the financially challenged newbies.
|
|
|
|
|
Link works fine, only error i get, is an javascript error. I was surprised of how excellent books they give out for free.
|
|
|
|
|
Yup, my very own net nazi stops this at work. Thanks
Never underestimate the power of human stupidity
RAH
|
|
|
|