我想创建一个控制台应用程序,它将显示在控制台屏幕上按下的键,我到目前为止制作了这段代码:
static void Main(string[] args)
{
// this is absolutely wrong, but I hope you get what I mean
PreviewKeyDownEventArgs += new PreviewKeyDownEventArgs(keylogger);
}
private void keylogger(KeyEventArgs e)
{
Console.Write(e.KeyCode);
}
Run Code Online (Sandbox Code Playgroud)
我想知道,我应该在main中输入什么,以便我可以调用该事件?
我有以下代码:
StringBuilder data = new StringBuilder();
for (int i = 0; i < bytes1; i++)
{
data.Append("a");
}
byte[] buffer = Encoding.ASCII.GetBytes(data);
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
Run Code Online (Sandbox Code Playgroud)cannot convert from 'System.Text.StringBuilder' to 'char[]' The best overloaded method match for 'System.Text.Encoding.GetBytes(char[])' has some invalid arguments
我不知道这个问题有更好的标题,但我会说明我的问题.
我正在开发类似MP3播放器的应用程序,它使用多媒体键来播放/暂停,停止歌曲,我实际上使它工作但是FormApplication必须在顶部[聚焦]
protected override void WndProc(ref Message msg)
{
if (msg.Msg == 0x319) // WM_APPCOMMAND message
{
// extract cmd from LPARAM (as GET_APPCOMMAND_LPARAM macro does)
int cmd = (int)((uint)msg.LParam >> 16 & ~0xf000);
switch (cmd)
{
case 13: // APPCOMMAND_MEDIA_STOP constant
MessageBox.Show("Stop");
break;
case 14: // APPCOMMAND_MEDIA_PLAY_PAUSE
MessageBox.Show("Play/Pause");
break;
case 11: // APPCOMMAND_MEDIA_NEXTTRACK
MessageBox.Show("Next");
break;
case 12: // APPCOMMAND_MEDIA_PREVIOUSTRACK
MessageBox.Show("Previous");
break;
default:
break;
}
}
base.WndProc(ref msg);
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
Message m = new …Run Code Online (Sandbox Code Playgroud) 我有这个方法来计算某个文件夹中的文件:
private void countfiles(string path)
{
if (path != "")
{
DirectoryInfo dir = new DirectoryInfo(path);
foreach (FileInfo filesindires in dir.GetFiles())
{
if (filesindires.FullName != Application.ExecutablePath)
{
num_files++;
Thread.Sleep(1);
}
}
foreach (DirectoryInfo dirsinfolder in dir.GetDirectories())
{
countfiles(dirsinfolder.FullName);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当用户点击计数按钮时我想制作一个线程,所以程序不会挂起.
Thread count = new Thread(new ThreadStart(countfiles(@"E:/test")));
Run Code Online (Sandbox Code Playgroud)
但是我甚至在调试之前就得到了这个错误
Method Name Expected
Run Code Online (Sandbox Code Playgroud)
我不明白; 这个错误需要我什么?
最后非常感谢您的帮助.
我编写了一些使用XmlDocument对象加载XML文档的代码,以便计算它的节点.这是方法:
XmlDocument xml = new XmlDocument();
xml.Load(textBox1.Text);
XmlNodeList nodes = xml.SelectNodes("//File");
foreach (XmlNode node in nodes)
{
number_of_childs++;
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,在导入大文件时,需要700MB的RAM.如果我然后尝试对文件执行某些操作,或者甚至从中读取以在a中显示其数据ListView,则应用程序需要2GB的RAM.所以,我想知道,有没有一种方法可以关闭XmlDocument并释放内存,释放RAM.它就像是忘记从内存中删除其内容.
我已经去了FTP上传功能,但有一些我想问的问题是缓冲区大小,我把它设置为20KB是什么意思,如果我增加/减少它会有什么不同吗?
private void Upload(string filename)
{
FileInfo fi = new FileInfo(filename);
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create("ftp://" + textBox1.Text + "/" + Path.GetFileName(filename));
ftp.Credentials = new NetworkCredential(textBox2.Text, textBox3.Text);
ftp.Method = WebRequestMethods.Ftp.UploadFile;
ftp.UseBinary = true;
ftp.KeepAlive = false;
ftp.ContentLength = fi.Length;
// The buffer size is set to 20kb
int buffLength = 20480;
byte[] buff = new byte[buffLength];
int contentLen;
//int totalReadBytesCount = 0;
FileStream fs = fi.OpenRead();
try
{
// Stream to which the file to be upload is written
Stream strm …Run Code Online (Sandbox Code Playgroud) 我有一个问题:这些方法类型有什么区别?
Static , Public , Internal , Protected , const , void
Run Code Online (Sandbox Code Playgroud)
对不起,我的问题对于专业人士来说可能看起来很尴尬,但我真的想了解它们的区别,顺便说一下我搜索和阅读有关它们的文章,但它们都很大而且没有很好地描述,我只需要一个很好的例子,我可以制作决定每次我做一个函数,因为我总是从私有空开始........
我刚开始使用SQL,现在我需要为我的C#应用程序创建一个数据库,它将保存用户名和密码.把它想象成密码提醒.
无论如何,我认为我需要做的是:我需要创建一个SQL数据库,该数据库将仅用于保存数据.它不应该在计算机上安装SQL Server.
我在网上搜索但没有结果,所有这些都需要使用SQL Server,请你能给我这样做的步骤,或者任何资源和非常感谢.
我正在创建一个连接到远程mysql数据库的应用程序到一些cpanel帐户.我在cpanel帐户上创建了数据库,并为其定义了用户名和密码.我正在使用MysqlConnector.到目前为止,我已经编写了以下代码:
using MySql.Data.MySqlClient;
MySqlConnection c = new MySqlConnection("SERVER = 64.191.12.54; DATABASE = alyataco_test4application; User ID = xxxxxxxx; PASSWORD = xxxxxxxx");
c.Open();
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误:
MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.
Run Code Online (Sandbox Code Playgroud)
我还看到使用Visual C#连接到远程MySQL数据库,但也没有帮助
我的问题似乎太奇怪,但我想到了Windows休眠的事情,我想知道是否有办法休眠特定的进程或应用程序.即:当Windows从正常关闭/重启启动时,它将正常加载所有启动程序,但除此之外,它将在关闭计算机之前加载具有其先前状态的特定程序.
我有关于保留内存位置并在计算机启动时将其检索回来,但是在Windows环境中是否有任何应用程序可以执行此操作?