我正在使用C#,我需要通过它的进程ID来获取一个特定的excel实例;我从另一个应用程序中获得了我需要的实例的进程ID,但我不知道还能做什么,我不知道如何才能获得一个正在运行的excel实例。
我在web上研究了很多,但我只看到了使用Marshal.GetActiveObject(...)的示例。或者Marshal.BindToMoniker(...),我不能使用它,因为第一个函数返回的是在ROT中注册的第一个Excel实例,而不是我需要的那个;第二个函数要求您在尝试获取实例之前保存excel文件。
此外,如果我能够使用进程ID获得我需要的excel实例的CLSID,那么我可能能够调用
Get
我的C#代码有一点小问题。概念:从FileDialog中选择文件后,我想要将文件的目录写入字符串,然后-基于此字符串-我想从路径运行文件,但却出现错误'The path is not of a legal form‘。有人知道怎么修吗?
private void button2_Click_2(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.OpenFileDialog();
if (FD.ShowDialog() == System.Windows.Form
在C#中,我有一个方法
public string GetString<T>() where T : class
在调用函数中,我只有要传递给GetString()<T>的类名。例如。"MyClass“。如何将"MyClass“转换为class?我尝试使用Type%s,但我找不到转换。
编辑:真实的例子来自一个数据库访问类。客户端请求特定硬件组件的信息。此组件由字符串指定。根据这个字符串,我想访问一个具有已知名称模式的表。非硬编码表名允许我们在不需要更改C#代码的情况下向数据库添加/从数据库中删除表。
返回所需信息的函数已经存在,需要class作为泛型类
在我的C#应用程序中,我有一个threadID服务的PID和threadID。如何找到它是哪个服务(注意:例如,svchost.exe的单个实例可以承载多个服务)?无论是直接在C#中还是调用其他实用程序,我都可以。
Process可以显示服务名称( process ->选项卡线程的属性、->列服务)。
到目前为止,我已经找到了进程和线程:
var p = Process.GetProcessById(pid);
var t = p.Threads.Cast<ProcessThread>().SingleOrDefault(t => t.Id == threadId
我有以下MySQL表:
myTable:
id int auto_increment
voucher int not null
id_user int null
我用从1到100000的值填充了凭证字段,所以我有100000条记录。当用户单击PHP页面中的按钮时,我需要为用户分配一条记录,所以我做了类似的事情:
update myTable set id_user=XXX where
voucher=(SELECT * FROM (SELECT MIN(voucher) FROM myTable WHERE id_user is null) v);
问题是我不使用锁,我应该使用它们,因为如果两