TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Jeffrey Riggs
NA
14
842
Help with my first C# - using If statement
May 22 2017 6:48 PM
forgot to state this first. doing .net 2.0 as we do not have any .net higher on our win7 boxes, unfortunately.
Ok so I have never done any C# coding and thought I would play around as I have a need for it. What I do not know how to do is change a variable if a variable contains something.
example... on all Windows PCs, you can look at the registry:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
there is a string called PROCESSOR_ARCHITECTURE. It will contain x86 or AMD64. On my test machine I have the read of that key working but what I dont know how to do is setup another variable based on that.
reason for this is that I am trying to read in 4 regkeys and it needs to work on 32bit and 64bit machines and I this is the only way I know how to do it (as I use something similar in vbscript)
so my code.. very last line returns AMD64 - thus that part is working
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using Microsoft.Win32;
using System.Windows.Forms;
namespace LCSInventoryLite
{
public partial class Form1 : Form
{ private object myProc;
public Form1()
{ InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e)
{
RegistryKey pRegKey = Registry.LocalMachine;
pRegKey = pRegKey.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Session Manager\Environment");
myProc = pRegKey.GetValue("PROCESSOR_ARCHITECTURE");
Console.WriteLine("x86 or AMD64: {0}", myProc);
so from here I am trying to set an if statement where if it is
x86> SOFTWARE\BMSLCS
AMD64> SOFTWARE\Wow6432Node\BMSLCS
I have tried so many iterations and threw in the Console.WriteLine and it comes up blank every time...
if (myProc = "AMD64") {pRegKey = "SOFTWARE\Wow6432Node\BMSLCS"; }
if (myProc = "AMD64") {pRegKey = pRegKey.OpenSubKey(@"SOFTWARE\Wow6432Node\BMSLCS");}
pRegKey is blank now
I need to read in from that key.. if I get rid of the checking x86 and AMD64 and just hard code in the 64bit path this next part works just fine...
so when i launch my form it goes in and reads these 4 keys and populates them into the form.
Object myFriendlyName = pRegKey.GetValue("FriendName");
Object myOwner = pRegKey.GetValue("LAB-Client");
Object myLabLocation = pRegKey.GetValue("Lab-Location");
Object myDepartment = pRegKey.GetValue("ISSystemNetworked");
txtFriendlyName.Text = myFriendlyName.ToString();
txtOwner.Text = myOwner.ToString();
txtLabLocation.Text = myLabLocation.ToString();
cbDepartment.Text = myDepartment.ToString();
Reply
Answers (
6
)
how to sum in report to a certain column as total g
How to check/uncheck checkbox on button click in win C#