Hi Necip,
As I understand, you need to get objects tree from a machine where TestComplete is not installed. If so, note that you can install TestExecute on that machine and use the following routine to get the objects tree and the properties you need:
Sub LogAppStructure(obj)
Err.Clear
On Error Resume Next
Dim count, i, Str
ReDim params(7)
params(0) = "WndClass"
params(1) = "WndCaption"
params(2) = "Index"
params(3) = "Visible"
params(4) = "Exists"
params(5) = "ClrFullClassName"
params(6) = "ProductName"
params(7) = "ProductVersion"
Str = ""
For i = 0 To UBound(params)
If IsSupported(obj, params(i)) Then
Str = Str & params(i) & " = " & VarToStr(Eval("obj." & params(i))) & VbCrLf
End If
Next
Call Log.AppendFolder(obj.Name, Str)
For i = 0 To obj.ChildCount - 1
Call LogAppStructure(obj.Child(i))
Next
Log.PopLogFolder
On Error GoTo 0
End Sub
function LogAppStructure(obj)
{
var count, i, Str;
var params = new Array();
params.push("WndClass");
params.push("WndCaption");
params.push("Index");
params.push("VisibleOnScreen");
params.push("Exists");
params.push("Visible");
params.push("FullName");
params.push("ClrFullClassName");
Str = "";
for (var i = 0; i < params.length; i++) {
if (IsSupported(obj, params))
Str += params + " = " + VarToStr(eval("obj." + params)) + "\r\n";
}
Log.AppendFolder(obj.Name, Str);
for (var i = 0; i < obj.ChildCount; i++) {
LogAppStructure(obj.Child(i));
}
Log.PopLogFolder();
}
To use the routine, insert the following routine call somewhere in your test (change the process name):
LogAppStructure(Sys.Process("MyProcessName")) // or LogAppStructure(Aliases.MyProcess))