|
Very useful, I'll keep it in mind if I ever need to use it
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Ah, so you get paid by the number of lines of code...
|
|
|
|
|
I wish, because then I would be intentionally making the most inefficient programs ever!
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
That's a homework problem that shows up here many times at this time of year; you can search.
|
|
|
|
|
Hey, this is fairly simply question, I believe, just something very new to me.
I recently downloaded an SDK and want to access it with my c# console. I cannot seem to find it in my COM references??
My actual aim is to use the ConvertStringSidToSid function call
http://msdn.microsoft.com/en-us/library/aa376399%28VS.85%29.aspx[^]
Which is apparently is in the SDDL.h header.
I'm trying to add the SDK reference but it doesn't appear in the list of COMS. Any help for going about this would be brilliant.
Thanks you
|
|
|
|
|
|
Wow. can't believe I hadn't come across that site. I now have to issues. I have tried two of the approaches mentioned.
<pre>//SecurityIdentifier is defined in the System.Security.Principal namespace.
SecurityIdentifier si = new SecurityIdentifier(sidBytes, 0);
return si.ToString();</pre>
runs into the error stating "SIDs with revision other than '1' are not supported.Parameter name: binaryForm"
When trying to compile the function which includes
<pre>finally
{
LocalFree(ptrSid);
}
return sidString; </pre>
I cannot find the LocalFree function, what object does it belong in?
Many Thanks
|
|
|
|
|
|
public static string GetSidString(byte[] sid)
{
IntPtr ptrSid;
string sidString;
if (!ConvertSidToStringSid(sid, out ptrSid))
throw new System.ComponentModel.Win32Exception();
try
{
At the !ConvertSidToString, I am getting the error "The security ID structure is invalid"
I'm trying all 3 functions now. I'm getting the error from my previous post, the error above and the 3rd function, the very long one on pinvoke.net gives the same result "S-0-0x2x2x2x2x2x2x" every time.
I only need one to work!! 3 functions and they all have problems.
Thanks for the help so far.
|
|
|
|
|
|
I'm not after getting the SID from the user. I don't have the user details. Although I have is the binary value of an SID and I somehow need to get it into it's correct format.
Thanks
|
|
|
|
|
Here is my test code and it's working :
class Program
{
[DllImport("advapi32", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool ConvertSidToStringSid([MarshalAs(UnmanagedType.LPArray)] byte[] pSID, out IntPtr ptrSid);
[DllImport("kernel32.dll", SetLastError = true)]
static extern IntPtr LocalFree(IntPtr hMem);
static void Main(string[] args)
{
System.Security.Principal.WindowsIdentity id = System.Security.Principal.WindowsIdentity.GetCurrent();
byte[] sidBytes = new byte[id.User.BinaryLength];
id.User.AccountDomainSid.GetBinaryForm(sidBytes, 0);
string sidManaged = id.User.AccountDomainSid.ToString();
Trace.Write(sidManaged);
string sidUnmanaged = GetSidString(sidBytes);
Trace.Write(sidUnmanaged);
}
public static string GetSidString(byte[] sid)
{
IntPtr ptrSid;
string sidString;
if (!ConvertSidToStringSid(sid, out ptrSid))
throw new System.ComponentModel.Win32Exception();
try
{
sidString = Marshal.PtrToStringAuto(ptrSid);
}
finally
{
LocalFree(ptrSid);
}
return sidString;
}
}
|
|
|
|
|
Hi
Maybe this is the second or third time I'm asking this question here and other programming platforms, yet I still don't have a satisfacting solution/answer.
I would like to be able to get screenshots from a DX game without any black/blank screenshot or desktop views(game is on foreground but desktop is saved in screenshot).
Currently I am using this code to take screenshots, which works most of the time. On XP if anti-aliasing is enabled in game I sometimes get black screenshots. On Vista I sometimes get black screenshots. On 7 if aero is not disabled I get black screenshots all the time or desktop views.
int screenWidth = Screen.GetBounds(new Point(0, 0)).Width;
int screenHeight = Screen.GetBounds(new Point(0, 0)).Height;
Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight);
Graphics gfx = Graphics.FromImage((Image)bmpScreenShot);
gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
bmpScreenShot.Save("test.jpg", ImageFormat.Jpeg);
I need to take screenshots without these problems without using SlimDX (and other external libraries needed to be installed). But an external DLL is OK.
Thank you. I hope I can solve this with your help.
|
|
|
|
|
SimpleData wrote: without using SlimDX (and other external libraries needed to be installed). But an external DLL is OK.
This is a contradictory statement. Each of these libraries IS an external .DLL. So, which is it?? Use an external library or not?? If not, they you've pretty much hung yourself.
The reason why you're getting black screens is because you're using GDI+ to grab the screenshot. DirectX doesn't use GDI at all to draw it's graphics, so that's why you get black screens. You're taking a snapshot of the display buffer Windows maintains, but DirectX does draw to this buffer. It draws directly to the video frame buffer, bypassing Windows and GDI.
|
|
|
|
|
What I meant by that statement was actually this: as far as I know SlimDX needs to be installed to the user's pc as a package. But using one or two extra dll is acceptable.
Thank you for explaining why I get black screenshots, but your answer brings another question, why do I get normal successful screenshots sometimes? How can I directly read from DX's buffer? I get the handle of the game I want to capture from and set it as a device but C# doesn't let me read the buffer of another application because .NET wants to protect inter-application boundries I guess.
|
|
|
|
|
SimpleData wrote: How can I directly read from DX's buffer?
No idea, I've never done such a thing. Every game I'm ever wanted a screen shot of always had it's own facility to do so.
|
|
|
|
|
Hi,
I am trying to access an Agilent oscilloscope via RS-232. This needs to use VISA to access the port.
I am looking for some sample code to open and close the port as well as issues some commands and queries. Nothing fancy at all.
I have asked Agilent for this several times and am still searching. To say they are unhelpful is as polite as I get.
I wouldnt have thought I was the first person to want to access the port using a PC since the RS-232 comms module is specifically designed for that and is an optional extra which I am sure they didnt design just for me ! So why are they being so difficult and vague.
I wouldnt have thought this would be very difficult to do, but I am new to C# etc (I used to be a programmer in 80s and 90s using Cobol etc).
If anyone has any sample code of help or advice I would certainly appreciate it, since I have been looking for this for several weeks now and my deadline is right over my head !
Many thanks, George.
|
|
|
|
|
|
|
Hi,
Yes I have actually tried Google too and I have found nothing so far that helps me at the level I am at with C#. In fact there does not
This manual, tho for the 6000 series, does use VISA but only giving examples in VB which I am even less familiar with than C#.
The equivilent manual for the DSO3000 series does not have any VISA references in it.
So I dont know which VISA components to use nor the information to use with them either.
So I am again stuck.
|
|
|
|
|
|
I'm tasked with helping a developer finish up a web page that collects information about an order and populates some SQL Server tables. ASPX with C#. I'm not a C# guy, but my main job here is to keep him on task, interface with the dept. that will need this, and validate the data design. At present, there are some issues with postbacks. He does a good bit of validation, mostly to ensure fields aren't blank, and posts back upon exit of a good many fields. One problem is retaining focus after postback. The user enters a value, presses tab, and a postback occurs. Instead of the focus moving to the next field, there seems to be no field with focus after the postback, which forces the user to click in the next field with the mouse. So instead of being able to tab to fields as expected, the user keeps having to use the mouse to get the focus to the appropriate field. This is not very desireable at all. Another issue is what fields cause a postback. An example would be a field that can be empty (zero), but if it's >0 another field needs to be populated. The postback occurs after the first field and an error message is displayed next to the second field saying it can't be empty, yet the user hasn't even had a chance to enter anything in that field. This is most likely a simple fix of where the validation originates from (the second field instead of the first), but the programmer seems to think this is hard to do or not doable. I may have to dig into C#, but some help here would be appreciated.
Thanks,
Russell
|
|
|
|
|
Try posting on the ASP.NET forum, you might have better luck.
|
|
|
|
|
Alright, I'll try that. Thanks.
|
|
|
|
|
Defination OF Glbalization in IT
Feature of Globalization In C#.Net
Feature of Globalization in Sun Java
Benefits of Globalization
DisAdvantage of globalization
images for glbalization
future of globalization
|
|
|
|