I référence Windows C# application forme (Program_Ref), essayez d'écrire un nouveau programme (Program_A) avec des fonctions similaires.application est resté coincé lors de l'utilisation HidP_GetValueCaps() deuxième fois
L'un des appels de fonction 'Find Device', qui consiste à utiliser l'identifiant du fournisseur et l'identifiant du produit pour trouver un périphérique usb spécifique.
Les deux applications fonctionnent correctement lors du démarrage, mais lorsque j'essaie d'utiliser à nouveau la fonction "Rechercher un périphérique", toute l'application (y compris l'interface utilisateur) reste bloquée. Au contraire, l'exemple d'application fonctionne toujours correctement. Je doute que le problème est de [STAThread]. est ici la différence entre deux programmes:
Ref.cs
public class Ref
{
internal static FrmMain FrmMy;
public static void Main()
{
FrmMy = new FrmMain();
Application.Run(FrmMy);
}
}
FrmMain.cs
internal class FrmMain : Form
{
// Other codes...
[STAThread]
internal static void Main() { Application.Run(new FrmMain()); }
}
et codes suivants est à moi:
A.cs
public class A
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Form1.cs
public partial class Form1 : Form
{
// Other codes...
// There's no entry point
}
Je ne peux pas comprendre la différence d'entre eux, et comment résoudre le problème?
Merci.