小编Pic*_*are的帖子

无法在HKEY_LOCAL_MACHINE\Software下写入注册表

我正在编写一个应用程序,需要创建一个隐藏在登录屏幕和控制面板用户小程序中的特殊用户帐户.通过DWORD使用用户名将值0 写入下面的注册表项,我可以实现此目标:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

问题是在Windows 7上使用UAC,无论我尝试什么,我都无法以编程方式将值写入上面的键.

我的理解是,除非您使用管理权限运行,否则在启用UAC的Windows 7上不允许写入某些键.我添加了一个应用程序清单requestedExecutionLevel level="requireAdministrator" uiAccess="false",我在程序运行时接受UAC提示,我的帐户是管理员的成员,但我仍然无法写入上述注册表项.

我还需要做什么?在任何应用程序配置中,如何在键下写入键和值HKEY_LOCAL_MACHINE\SOFTWARE

更多信息......当我的程序运行时,不会抛出任何错误,它似乎写入值.我的猜测是Windows正在虚拟化我正在编写的位置.如果我要隐藏这个特殊用户帐户,我需要写入实际位置,而不是虚拟位置.

c# registry winapi uac

7
推荐指数
1
解决办法
3万
查看次数

如何删除气球工具提示上的"扳手"按钮?

我想隐藏气球工具提示上的扳手按钮
有谁知道怎么办?是否可以禁用/删除正在调用的系统托盘中气球工具提示上关闭按钮旁边的扳手按钮System.Windows.Forms.NotifyIcon

气球工具提示


提前帮助,谢谢.

c# windows-explorer windows-shell notifyicon winforms

7
推荐指数
1
解决办法
978
查看次数

在ListBox控件中隐藏垂直滚动条

我正在开发一个需要ListBox控件的应用程序.不幸的是,当我在其中添加太多项目时ListBox,会显示一个垂直滚动条.我可以做些什么来隐藏显示的垂直滚动条ListBox?我可以看到有一个属性可以隐藏水平滚动条,但是垂直滚动条没有属性.

c# listbox winforms

7
推荐指数
1
解决办法
1万
查看次数

使用iTextSharp 5.3.3和USB令牌签署PDF

我是iTextSharp(和StackOverFlow)的新手.我正在尝试使用外部USB令牌在C#中签名PDF.我尝试使用我从互联网上挖掘的以下代码.

Org.BouncyCastle.X509.X509CertificateParser cp = new Org.BouncyCastle.X509.X509CertificateParser();

//Get Sertifiacte
X509Certificate2 certClient = null;
X509Store st = new X509Store(StoreName.My, StoreLocation.CurrentUser);
st.Open(OpenFlags.MaxAllowed);
X509Certificate2Collection collection = X509Certificate2UI.SelectFromCollection(st.Certificates, "Please choose certificate:", "", X509SelectionFlag.SingleSelection);
if (collection.Count > 0){
   certClient = collection[0];
}
st.Close();
//Get Cert Chain
IList<Org.BouncyCastle.X509.X509Certificate> chain = new List<Org.BouncyCastle.X509.X509Certificate>();
X509Chain x509chain = new X509Chain();
x509chain.Build(certClient );
foreach (X509ChainElement x509ChainElement in x509chain.ChainElements){
    chain.Add(DotNetUtilities.FromX509Certificate(x509ChainElement.Certificate));
}

PdfReader reader = new PdfReader(sourceDocument);
FileStream resStream = new FileStream(resultDocument, FileMode.Create, FileAccess.ReadWrite);

PdfStamper stamper = PdfStamper.CreateSignature(reader, resStream , '\0', null, true); …
Run Code Online (Sandbox Code Playgroud)

c# pdf usb sign itextsharp

7
推荐指数
2
解决办法
2万
查看次数

基类上的Ninject属性注入

我正在尝试使用注入属性ninject.考虑到ninject下面模块中的两个绑定,我希望将ConcreteDependency其注入B.
但是,似乎WhenInjectedInto不考虑注入的类型,只考虑目标的声明类型(在这种情况下为属性).

有没有办法实现我预期的行为?

static void Main(string[] args)
{
    var kernel = new StandardKernel(new TestModule());
    var b = kernel.Get<B>();
    var c = kernel.Get<C>();
}

class TestModule : NinjectModule
{
    public override void Load()
    {
        Bind<IDependency>().To<EmptyDependency>();
        Bind<IDependency>().To<ConcreteDependency>().WhenInjectedInto<B>();
    }
}

abstract class A
{
    [Inject]
    public IDependency Dependency { get; set; }
}

class B : A {}

class C : A {}

interface IDependency {}

class EmptyDependency : IDependency { }

class …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection ninject

7
推荐指数
2
解决办法
4650
查看次数

list.add似乎是在添加对原始对象的引用?

我创建了一些自定义类(NTDropDownNTBaseFreight),用于存储从数据库中检索的数据.我初始化了List NTBaseFreight和2列表NTDropDown.

我可以成功List.Add地将货物添加到货运列表中,但是当我调试代码时,我的2个下拉列表只包含1 NTDropDown,它总是具有相同的值NTDropDown(我假设这是一个引用问题,但我在做什么错误)?

举个例子,在第二行,如果载体和carrier_label"001", "MyTruckingCompany",我把在if语句休息了frt_carriers,既frt_carriers和frt_modes将只包含1中的列表项,与值"001", "MyTruckingCompany"...相同值NTDropDown.

码:

List<NTDropDown> frt_carriers = new List<NTDropDown>();
List<NTDropDown> frt_modes = new List<NTDropDown>();
List<NTBaseFreight> freights = new List<NTBaseFreight>();
NTDropDown tempDropDown = new NTDropDown();
NTBaseFreight tempFreight = new NTBaseFreight();

//....Code to grab data from the DB...removed

while (myReader.Read())
{
    tempFreight = readBaseFreight((IDataRecord)myReader);

    //check if the carrier and mode are in the dropdown list (add …
Run Code Online (Sandbox Code Playgroud)

c# list

7
推荐指数
1
解决办法
2万
查看次数

递归搜索字符串中的模式

我正在使用c#.我有以下字符串

<li> 
    <a href="abc">P1</a> 
    <ul>
        <li><a href = "bcd">P11</a></li>
        <li><a href = "bcd">P12</a></li>
        <li><a href = "bcd">P13</a></li>
        <li><a href = "bcd">P14</a></li>
    </ul>
</li>
<li> 
    <a href="abc">P2</a> 
    <ul>
        <li><a href = "bcd">P21</a></li>
        <li><a href = "bcd">P22</a></li>
        <li><a href = "bcd">P23</a></li>
    </ul>
</li>
<li> 
    <a href="abc">P3</a> 
    <ul>
        <li><a href = "bcd">P31</a></li>
        <li><a href = "bcd">P32</a></li>
        <li><a href = "bcd">P33</a></li>
        <li><a href = "bcd">P34</a></li>
    </ul>
</li>
<li> 
    <a href="abc">P4</a> 
    <ul>
        <li><a href = "bcd">P41</a></li>
        <li><a href = "bcd">P42</a></li>
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

我的目标是从上面的字符串填写以下列表.

List<class1>
Run Code Online (Sandbox Code Playgroud)

class1有两个属性, …

c# string

7
推荐指数
1
解决办法
654
查看次数

使用证书加密

我对所有这些加密事件都很陌生,我正在尝试使用一个简单的应用来加密给定的字符串.这是我的代码:

public static X509Certificate2 getPublicKey()
{
    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();

    X509Certificate2 cert2 = new X509Certificate2("c:\\certificate.cer");

    return cert2;
}


public static string cipherRequest(byte[] stringToEncrypt)
{
    X509Certificate2 certificate = getPublicKey();

    RSACryptoServiceProvider rsa = certificate.PublicKey.Key as RSACryptoServiceProvider;

    byte[] cryptedData = rsa.Encrypt(stringToEncrypt, true);

    return Convert.ToBase64String(cryptedData);
}

public static void Main()
{

    try
    {

        ASCIIEncoding ByteConverter = new ASCIIEncoding();

        byte[] test = ByteConverter.GetBytes("stringtoencrypt");

        string first = cipherRequest(test);
        string second= cipherRequest(test);

        Console.WriteLine("first: {0}", first);
        Console.WriteLine("second: {0}", second);

    }
    catch(CryptographicException e)
    {
        Console.WriteLine(e.Message);
    }

}
Run Code Online (Sandbox Code Playgroud)

因此每次我调用 …

c# certificate public-key-encryption

7
推荐指数
1
解决办法
2万
查看次数

GridView触发了未处理的事件RowEditing

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AppManagementConsole
{
    public partial class _Default : Page
    {
        string BuildUploadPath = ConfigurationManager.AppSettings["DirectoryPath"] + "Files/";
        string ReleaseNotesUpPath = ConfigurationManager.AppSettings["DirectoryPath"] + "ReleaseNotes/";

    protected void Page_Load(object sender, EventArgs e)
    {
        cpBuildDate.SelectedDate = DateTime.Now;
        getBuildData();
    }

    public void getBuildData()
    {
        //Select Build List
        SqlCommand selectCommand = new SqlCommand("Select * from tblBuildList");

        try
        {
            //Connect to DB
            using (SqlConnection conRDB = new SqlConnection(ConfigurationManager.ConnectionStrings["conRDB"].ConnectionString)) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview

6
推荐指数
3
解决办法
4万
查看次数

用数组信息填充组合框

我正在尝试ComboBox用另一个类中的数组的 PART填充 a 。我必须制作一个应用程序来创建客户、库存和订单。在订单表单上,我试图分别从客户和库存类中的数组中提取客户 ID 和库存 ID 信息。数组中有多种类型的信息:客户 ID、姓名、地址、状态、邮编等;库存 ID、名称、折扣值和价格。

这是我的阵列设置如下:

public static Customer[] myCustArray = new Customer[100];

public string customerID;
public string customerName;
public string customerAddress;
public string customerState;
public int customerZip;
public int customerAge;
public int totalOrdered;
Run Code Online (Sandbox Code Playgroud)

这就是我的组合框的设置方式:

public void custIDComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    custIDComboBox.Items.AddRange(Customer.myCustArray);

    custIDComboBox.DataSource = Customer.getAllCustomers();
}
Run Code Online (Sandbox Code Playgroud)

c# arrays combobox

6
推荐指数
1
解决办法
3万
查看次数