SUFFODIO GUI deducendo ex pasco

Ego primus scripsi hunc articulum in my Π±Π»ΠΎΠ³ita ut non postea iterum investigetur ac meminerit, sed cum nemo diarii legerit, haec informationes omnibus communicare volui, si quis utilem invenerit.

Dum laborat in notione tesserae reset operae in SAP R/3 systemata, quaestio orta est - quomodo SAP GUI mitteret cum parametris necessariis e navigatro? Cum haec idea usum instrumenti interretialis implicavit, primum SOAP petitioni SAP GUI respondet, et electronicam mittens nexum paginae cum scripto ad tesseram initialem reponendam, deinde utentem ostendens. nuntium de tessera felici reset ac tesseram hanc initialem ostendens, hanc paginam etiam vellem habere nexum ad SAP GUI deducendum. Haec autem nexus systema desideratum debet aperire, et potius cum agris login et clavibus simul repletis: usor tantum debet bis in tesseram productivam replere.

SAP Logon deducendo non interest ad propositum nostrum, et cum sapgui.exe currit, nomen clientis et usoris definire non potuit, sed systema in SAP Logon non definitum mittere potuit. Ex altera parte, SAP GUI deductis cum servo arbitrario parametri non maxime pertinet: si solvendo problema tesserae usoris reponendae, tunc maxime verisimile est iam necessariam lineam in SAP Logon habere, cum uncinis indiget, et ibi non opus est tatam suis. Sed certa requisita occurrerunt SAP GUI Brevis technologia et ipsa programmata sapshcut.exe, quae fieri potuit ut SUFFODIO GUI utens specifica "brevis" mitteret.

Solvendo problema capitis-on: sapshcut.exe deductis directe ex pasco utens objecto ActiveX:

function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}

Solutio mala est: primo, solum operatur in Penitus Rimor, secundo, requirit opportunitates securitatis in navigatro, quae in regimine prohiberi potest in gradu regio, et etiam si liceat, navigatrum ostendit fenestram cum meticulosa. Admonitio ad user:

SUFFODIO GUI deducendo ex pasco

Inveni solutionem # II in Internet: creando telam protocol. Applicationem nobis dare sinit utendo nexum indicando protocollum, quod ipsi subcriptio in Fenestra in registro in sectione HKEY_CLASSES_ROOT. Cum SAP GUI Brevis in hac sectione suum ordinem habet, URL Protocollum parametri cum valore inani ibi addere potes:

SUFFODIO GUI deducendo ex pasco

Hoc protocol incipit sapgui.exe cum parametri / BREVISquae prorsus necessaria sunt;

SUFFODIO GUI deducendo ex pasco

Protocollum arbitrarium facere velimus (exem. gr. sapshcut), deinde subcriptio illum uti fasciculo sequenti reg:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTsapshcut]
@="sapshcut Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOTsapshcutDefaultIcon]
@="sapshcut.exe"
[HKEY_CLASSES_ROOTsapshcutshell]
[HKEY_CLASSES_ROOTsapshcutshellopen]
[HKEY_CLASSES_ROOTsapshcutshellopencommand]
@="sapshcut.exe "%1""

Nunc, si nexum in pagina interretialem facimus, indicando protocollum Sapgui.Shortcut.File Simili modo:

<a href='Sapgui.Shortcut.File: -system=SID -client=200'>SID200</a>

Fenestram sic debemus videre:

SUFFODIO GUI deducendo ex pasco

Et omnia magna videntur, sed cum in strepita "Permitte" conjunctionem videmus:

SUFFODIO GUI deducendo ex pasco

Oops, navigatrum spatii in% 20 convertit. Bene, aliae notae etiam in codice suo numerorum cum centesimis symbolo enodentur. Et incommodum est quod nihil hic fieri potest in gradu navigatoris (omnia hic fiunt secundum regulam) - navigatrum non placet talibus characteribus, et in Fenestra mandatum interpres non operatur talibus bonis encoded. Et unum plus minus - tota chorda pro modulo praemittitur, cum nomine protocollo et etiam colon (sapgui.shortcut.file:). Et licet idem sapshcut.exe omnia deponere possunt quae non parametri sunt (incipit cum symbolo "-", deinde nomen, "= et valorem), i.e. sicut linea "sapgui.shortcut.file: -system= SID" adhuc opus erit, tunc sine spatio".sapgui.shortcut.file:-system=SID"Non operatur.

Evenit ut, in principio, duae optiones protocollo URI utendo:

  1. Usura sine parametris: Protocolla totum fasciculum creamus omnium systematum nostrorum typus SIDMANDT, sicut AAA200, BBB200 et sic porro. Si vos iustus postulo ut optatam rationem incipias, optio est admodum operabilis, at in casu nostro non apta est, cum saltem vis login utentis transferre, sed hoc modo fieri non potest.
  2. Usus involucro programma vocare sapshcut.exe aut sapgui.exe. Ratio huius programmatis simplex est - debet capere chorda quem navigans ad eum transmittit per protocollum interretialem et convertat in repraesentationem quam Fenestra accipit, i.e. omnes Codices characterum in characteres vertit (fortasse etiam parses chordae secundum parametris) et iam vocat SAP GUI cum certo praecepto recto. In nobis, etiam non est omnino conveniens (id quod etiam non scripsi), quia non satis est nobis protocollum in omnibus usoribus PCs addere (intra ditione hoc totum ius est, quamquam etiam melius est. hanc praxim evitare), sed hic plura programmata in PC collocabimus, et etiam constanter ut non recedat cum programmata in PC restituta sunt.

Illae. Hanc optionem etiam ut nobis ineptam abiicias.

Hic iam incipiebam cogitare me vale dicere ideam SAP GUI deducendi cum parametris necessariis e navigatro, sed tunc occurrebat mihi idea ut brevem facere possis in SAP Logon et effingo eam ad desktop. Hac methodo semel usus sum, sed antea non speciatim fasciculum brevem spectavi. Et evenit ut haec brevis fasciculus textus regularis sit cum extensione .sap. Et si in Fenestra curris, SAP GUI cum parametris quae in hac tabella continentur, mittet. "Bingo!"

Forma huius fasciculi proxime sequentis est (fortasse etiam potest esse negotium in startup deductum, sed illud omisi);

[System]
Name=SID
Client=200
[User]
Name=
Language=RU
Password=
[Function]
Title=
[Configuration]
GuiSize=Maximized
[Options]
Reuse=0

Omnia quae necessaria videntur: systema identifier, cliens, usoris ac etiam tesseram habent. Ac etiam parametri adiectis; Title: β€” fenestrae titulus; GuiSize - magnitudinem currens fenestra (plena screen vel non) et postera I reuse β€” utrum necesse sit novam fenestram aperire an iam aperto cum eodem systemate utatur. Sed statim aliquid emersit - evenit ut tessera in SAP Logon erigi non posset, linea obstructa est. Evenit hoc propter rationes securitatis hoc factum esse: omnia brevia in SAP Logon in tabella condita recondit sapshortcut.ini (prope saplogon.ini in Fenestra usoris profile) et ibi, etsi encryptae sunt, non nimis fortiter encryptae sunt et, si lubet, decryptari possunt. Sed hoc solvi potes mutando valorem unius parametri in registro (valor defalta est) 0):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity]
"EnablePassword"="1"

Hoc signum recludit campum ad ingressum in forma brevis creationis in SAP Logon:

SUFFODIO GUI deducendo ex pasco

Et cum tesseram in hoc campo intraveris, in linea debita collocabitur
sapshortcut.inised cum brevem in escritorio trahis, ibi non apparet - sed ibi manually addere potes. Tessera encrypta est, pro 111111 sic erit: PW_49B02219D1F6, 222222 - PW_4AB3211AD2F5. Sed plus interest in eo quod tesseram hanc uno modo encryptam, independentem a specifico PC, et si tesseram initialem reponimus, uno valore in hoc campo praecognito uti possumus. Bene, si tesserae passim creatae uti velimus, algorithmum huius notae intellegendum debebimus. Sed exemplis propositis diiudicare non erit difficile. Obiter in SAP GUI 7.40 hic campus a forma prorsus evanuit, sed limam in clave refertam recte accipit.

Hoc est, evenit ut in navigatro quem ad modum debes strepere in nexum fasciculi cum .sap extensione et forma desiderata - et offeret eam aperire ut tabellam SAP GUI Brevis generis (naturaliter in PC cum SAP GUI inauguratus est) et SAP GUI fenestram aperiet cum parametris definitis (si SID et par clientis sunt in SAP Logon de hac PC).

Sed, patet neminem simpliciter creare lima in antecessum easque in loco collocare - generari debent ex parametris necessariis. Exempli gratia, potes litteras PHP creare breves generare (sapshcut.php):

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$Size = $queries['Size'];
$SID = $queries['SID'];
$Client = $queries['Client'];
if($Client == '') { $Client=200; };
$Lang = $queries['Language'];
if($Lang=='') { $Lang = 'RU'; };
$User = $queries['Username'];
if($User<>'') { $Password = $queries['Password']; };
$filename = $SID.$Client.'.sap';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/sap');
echo "[System]rn";
echo "Name=".$SID."rn";
echo "Client=".$Client."rn";
echo "[User]rn";
echo "Name=".$Username."rn";
echo "Language=".$Lang."rn";
if($Password<>'') echo "Password=".$Password."rn";
echo "[Function]rn";
if($Title<>'') {echo "Title=".$Title."rn";} else {echo "Title=Π’Ρ…ΠΎΠ΄ Π² систСмуrn";};
echo "[Configuration]rn";
if($Size=='max') { echo "GuiSize=Maximizedrn"; };
echo "[Options]rn";
echo "Reuse=0rn";
?>

Si nomen usoris et tesserae non indicas, sequens fenestra petens rationem et clavem habebis:

SUFFODIO GUI deducendo ex pasco

Si modo login transieris, campus login implebitur et ager tessera vacuus erit. Si usorem tam login quam tesseram demus, sed utentem in PC in registro EnablePassword clavem habet in sectione Securitatis [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] positae ad 0, tunc eandem rem obtinemus. Et solum si haec clavis ad 1 apponitur et nomen et tesseram initialem praeterimus, ratio statim te admonebit ut novam tesseram permanentem bis ingrediaris. Id quod nobis opus est.

Quam ob rem sequentia optionum consideratarum exemplum exemplum omnium praedictorum habemus:

<html>
<head>
<script>
function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}
</script>
</head>
<body>
<a href='' onclick="javascript:openSAPGui('SID', '200', 'test', '');"/>Example 1: Execute sapshcut.exe (ActiveX)<br>
<a href='Sapgui.Shortcut.File: -system=SID -client=200'>Example 2: Open sapshcut.exe (URI)</a><br>
<a href='sapshcut.php?SID=SID&Client=200&User=test'>Example 3: Open file .sap (SAP GUI Shortcut)</a><br>
</body>
</html>

Ultima optio mihi idonea est. Sed loco SAP shortcuts generandi, uti etiam potes, exempli gratia, files CMD generans, quae, cum e navigatro aperitur, etiam SAP GUI fenestram tibi aperiet. Infra exemplum est.sapguicmd.php) SAP GUI directe deducunt cum plena connexione chorda, sine necessitate SAP Logon figuratum habere:

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$ROUTER = $queries['ROUTER'];
$ROUTERPORT = $queries['ROUTERPORT'];
$HOST = $queries['HOST'];
$PORT = $queries['PORT'];
$MESS = $queries['MESS'];
$LG = $queries['LG'];
$filename = 'SAPGUI_';
if($MESS<>'') $filename = $filename.$MESS;
if($HOST<>'') $filename = $filename.$HOST;
if($PORT<>'') $filename = $filename.'_'.$PORT;
$filename = $filename.'.cmd';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/cmd');
echo "@echo offrn";
echo "chcp 1251rn";
echo "echo Π’Ρ…ΠΎΠ΄ Π² ".$Title."rn";
echo "set SAP_CODEPAGE=1504rn";
echo 'if exist "%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe'."rn";
echo 'if exist "%ProgramFiles%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles%SAPFrontEndSapGuisapgui.exe'."rn";
echo "set logon=";
if($ROUTER<>'') echo "/H/".$ROUTER;
if($ROUTERPORT<>'') echo "/S/".$ROUTERPORT;
if($MESS<>'') echo "/M/".$MESS;
if($HOST<>'') echo "/H/".$HOST;
if($PORT<>'') echo "/S/".$PORT;
if($LG<>'') echo "/G/".$LG;
echo "rn";
echo '"%gui%" %logon%'."rn";
?>

Source: www.habr.com