需要将Visual Basic SAP登录应用程序转换为C#应用程序

2020-08-21 18:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)这是我的Visual Basic...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


这是我的Visual Basic代码,可以正常工作!〜

================================================ ======================

公共子Logon_Click(作为对象发送,作为EventArgs发送)处理登录。单击

'===激活SAP登录板引擎

应用程序= CreateObject(" Sapgui.ScriptingCtrl.1")

'===启动预定义的SAPlogon pad连接之一

Sapgui = GetObject(" SAPGUI")

应用程序= Sapgui.GetScriptingEngine

connection = Application.OpenConnection(" SP1- ECC 6.0 Production [WM_MM_GRP]",真)

会话= connection.children(0)

'===填写登录屏幕字段

session.findById(" wnd [0]/usr/txtRSYST-BNAME")。text =" tuser_id_here"

session.findById(" wnd [0]/usr/pwdRSYST-BCODE")。text =" passwd_here"

'===发送回车

session.findById(" wnd [0]")。sendVKey(0)

结束子

================================================ =======================

任何人在c#中都有一个示例

我在WPF中使用框架4.72,但如果需要,Windows窗体也可以。

该应用程序的其余部分位于.NET CORE C#WPF中。 就示例而言,那里没有多少东西!

我开始怀疑我是否可以在C#中使用SAP GUI。

谢谢

Pete

6条回答
clasier
2020-08-21 18:48

这是另一个 大块的代码! SapActive是它的来源!

================================================ ====

使用sapfewse;

命名空间SAPGuiAutomated {

//它已经为SAP应用程序,连接和会话对象以及常见功能创建了一个类。

公共类SAPActive {

公共静态GuiApplication SapGuiApp {get; 组;

}

公共静态GuiConnection SapConnection {get; 组;

}

公共静态GuiSession SapSession {get; 组; }

公共静态无效openSap(string env)

{

SAPActive.SapGuiApp =新的GuiApplication();

string connectString = null;

如果(env.ToUpper()。Equals(" DEFAULT")){

connectString =" WM_MM_GRP";

}其他{

connectString = env;

}

SAPActive.SapConnection = SAPActive.SapGuiApp.OpenConnection(connectString,Sync:true); //创建连接

SAPActive.SapSession =(GuiSession)SAPActive.SapConnection.Sessions.Item(0);

//根据您建立的连接创建Gui会话

}

公共无效登录(字符串forclient01,字符串forlogin01,字符串forpass01,字符串forlang01)

{

GuiTextField客户端=(GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName(" RSYST-MANDT"," GuiTextField");

GuiTextField登录=(GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName(" RSYST-BNAME"," GuiTextField");

GuiTextField pass =(GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName(" RSYST-BCODE"," GuiPasswordField");

GuiTextField语言=(GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName(" RSYST-LANGU"," GuiTextField");

GuiButton btn;

client.SetFocus();

client.Text = forclient01; login.SetFocus();

login.Text = forlogin01; pass.SetFocus();

pass.Text = forpass01; language.SetFocus();

language.Text = forlang01;

//按下绿色的选中标记按钮,该按钮与输入键GuiButton大致相同

btn =(GuiButton)SapSession.FindById("/img/app/con [0]/ses [0]/wnd [0]/tbar [0]/btn [0]");

btn.SetFocus();

btn.Press();

}

}

}

=================================

Pete

一周热门 更多>