[XAP] [Source] [Mango] WP7 Custom core tiles (The DllImport Project child node)

Search This thread

fiinix

Retired Recognized Developer
Oct 9, 2010
570
224
29
Stockholm
The Hacked Tile (The DllImport Project child node)

On the Windows Phone platform we have access to tile system, right. But what can we do with it, not so much indeed.
When creating tiles in the WP7, they are sandboxed to the app itself, not being able to talk with the rest of the core (non-sandboxed tile system).

So what i release today is a child node of DllImport project (due this expands with to much information, so i create i new thread); that makes it possible to create any type of tile (yes, you did read that correctly).

How do i create tiles?
- Too simple i can say. Can create a whole (hacked) tile with one line of code:

Code:
[COLOR="#2B91AF"]HackedShellTile[/COLOR].CreateFreedomTile(
    [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]Guid[/COLOR]([COLOR="DarkRed"]"{8dc5214e-88fa-4c2d-a379-2cd74fe24b72}"[/COLOR]), [COLOR="#008000"]// which app gets the ownership (by GUID)[/COLOR]
    [COLOR="DarkRed"]""[/COLOR], [COLOR="#008000"]// what launch parameters are passed in when clicking the tile (example: "?MyParameter=123")[/COLOR]
    [COLOR="DarkRed"]"_default"[/COLOR], [COLOR="#008000"]// the "<DefaultTask Name" of the app who owns the GUID[/COLOR]
    [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSimpleTextTile[/COLOR]( [COLOR="#008000"]// In this example code i use "simple text" tile[/COLOR]
        [COLOR="DarkRed"]"XDA tile system"[/COLOR], [COLOR="#008000"]// the "title"[/COLOR]
        [COLOR="DarkRed"]"It just works"[/COLOR])); [COLOR="#008000"]// and the "subtitle"[/COLOR]

- Too easy.

What more kind of tiles can i spawn?

Code:
[COLOR="#008000"]//Calendar[/COLOR]
[COLOR="Blue"]var[/COLOR] calendar = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedCalendarTile[/COLOR]([COLOR="DarkRed"]"appointmentTitle"[/COLOR], [COLOR="DarkRed"]"appointmentDescription"[/COLOR], [COLOR="DarkRed"]"appointmentLocation"[/COLOR]);

[COLOR="#008000"]//Icon with text[/COLOR]
[COLOR="Blue"]var[/COLOR] icon = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedIconTile[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"@BrowsuiRes.dll,-12251"[/COLOR]);

[COLOR="#008000"]//[Wide] icon with text[/COLOR]
[COLOR="Blue"]var[/COLOR] wide = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedWideIconTile[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"@BrowsuiRes.dll,-12251"[/COLOR]);

[COLOR="#008000"]//Separator-tile (Actually a bug creating a theme (black or white) based empty 1x1 tile)[/COLOR]
[COLOR="Blue"]var[/COLOR] black_or_white = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSeparatorTitle[/COLOR]();

[COLOR="#008000"]//As used in example (Creating some text on a tile)[/COLOR]
[COLOR="Blue"]var[/COLOR] text = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSimpleTextTile[/COLOR]([COLOR="DarkRed"]"My title"[/COLOR], [COLOR="DarkRed"]"Im subtitle"[/COLOR]);

[COLOR="#008000"]//Create a 3-row image rotator[/COLOR]
[COLOR="Blue"]var[/COLOR] row = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedTrippleRowTitle[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!token.xboxlive.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenCamera.png"[/COLOR]);

[COLOR="#008000"]//You may have seen the people tile where people's faces flash and change positions and all; this is the same but with your own icons instead of faces.[/COLOR]
[COLOR="Blue"]var[/COLOR] people = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedPeopleHubTitle[/COLOR]([COLOR="DarkRed"]"People of XDA"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkOrange"]... (up to array of 18)[/COLOR]);

[COLOR="#008000"]//The picture-hub favorite image rotator with your own images[/COLOR]
[COLOR="Blue"]var[/COLOR] anim = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedWidePictureAnimator[/COLOR](
    [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_00.jpg"[/COLOR], 
    [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_01.jpg"[/COLOR], 
    [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_02.jpg"[/COLOR], 
    [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_03.jpg"[/COLOR]
    [COLOR="SeaGreen"]/*Up to 18 supported*/[/COLOR]);

[COLOR="#008000"]//Just an ordinary type "HackedIconTile" but always with a xbox logo (But just your own title text)[/COLOR]
[COLOR="Blue"]var[/COLOR] xbox = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedXboxTile[/COLOR]([COLOR="DarkRed"]"My title"[/COLOR]);

Youtube demo (as reference demo)



How do i get it?

Everything can be found in the orginal DllImport project thread located Here
- Search up versions defined with "[Custom tile system]"


(edits to come)


Have a really great day!

//fiinix
 
Last edited:

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,932
Seattle
Very cool! Works great on my HD7 (stock Mango 7720 retail ROM but no post-Mango HTC updates).

It's also interop-unlocked but this app shouldn't require that.
 

contable

Senior Member
Oct 25, 2009
1,755
996
Only one word: fantastic !

I would like to see it with folders app from Jaxbot....
 

Jaxbot

Inactive Recognized Developer
Mar 14, 2009
1,224
548
windowsphonehacker.com
fiinix, out of curiosity, what layer of the tile system is this utilizing? It seems you're adding tiles using the same method that the native applications would, but are reusing the same UIB/UIX animation scripts, hence the deal with Xbox Live. How much control over these tiles do we have?
 

fiinix

Retired Recognized Developer
Oct 9, 2010
570
224
29
Stockholm
fiinix, out of curiosity, what layer of the tile system is this utilizing? It seems you're adding tiles using the same method that the native applications would, but are reusing the same UIB/UIX animation scripts, hence the deal with Xbox Live. How much control over these tiles do we have?
"out of curiosity, what layer of the tile system is this utilizing?"
- Native system level (RAPI COM+), talking to "pacmanserver"

"How much control over these tiles do we have?"
- Which tiles are you targeting?
1. (all tiles) - If you have the guid you are free to get any application tiles
2. ("this app") - What ever you want
 

xyap

Member
Jul 8, 2007
45
1
sorry for i'm a noob but how can I reference an image or png-file the project contains?
"res://..." is not obvious to me.
"<projectname>;<imagename>" does not work...
TIA
 

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,932
Seattle
Have you considered either using/the/obvious/path.png or trying a web search? (Seriously, first result.)

It's typically much faster than asking on a forum. As a bonus, you don't get people making snarky comments!
 

xyap

Member
Jul 8, 2007
45
1
Have you considered either using/the/obvious/path.png or trying a web search? (Seriously, first result.)

It's typically much faster than asking on a forum. As a bonus, you don't get people making snarky comments!
Yes I sure have considered this for many hours now including debugging but without success. Do you know how to do or you just guess?
 

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,932
Seattle
Did you even read the first result of the link I posted?

You've got a folder in the root of your project called "Images". It contains a file called "ICannotReadTheDocs.png". It is build-type "Content" (not Resource, which you seem to be trying to use for some reason). You reference it in XAML by just putting the path in the Source parameter:
Source="/Images/ICannotReadTheDocs.png".
You reference it in code using the URI class:
image.Source = new BitmapImage(new Uri("/Images/ICannotReadTheDocs.png", UriKind.Relative));

Alternatively, if you really want to stuff your image into the DLL, you can use the Resource build type.
XAML: "/ProjectHERP;component/Images/ICannotReadTheDocs.png"
C#: new Uri("/ProjectHERP;component/Images/ICannotReadTheDocs.png", UriKind.Relative);

EDIT: I'm being snarkier than usual because you're asking this in a really weird place; neither this thread nor this subforum in general are really about basic app development questions. If you were asking how to do something like load an icon resource out of a system DLL in the Windows folder, sure, that would be apropriate. If it was asking how to get the Xbox Live (Games hub) icon, it would even be on-topic for the thread. I'd have used LMBTFY but apparently you can't get it even when I direct you to exactly the site you need.
 
Last edited:

xyap

Member
Jul 8, 2007
45
1
thank you for your kind help.
sure you can now share the secret how to use your info for get this working:

spawnTile(new HackedWideIconTile(<string backgroundUmageURI>, <string Title>));
spawnTile(new HackedIconTile(<string iconImageUri>, <string title>));

thanks again.
 
Last edited:

andreacorti

Senior Member
Apr 27, 2011
314
105
Lecco
I'm trying using this example but I have a runtime error registering the pacmanclient.dll.. (targetinvocationexception).

which file I have to copy in my project (or in a library) to create a "clean" usable code?
 

fiinix

Retired Recognized Developer
Oct 9, 2010
570
224
29
Stockholm
I'm trying using this example but I have a runtime error registering the pacmanclient.dll.. (targetinvocationexception).

which file I have to copy in my project (or in a library) to create a "clean" usable code?
Have you included "pacmanclient.dll" in your project as Content?
It may be your problem.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    The Hacked Tile (The DllImport Project child node)

    On the Windows Phone platform we have access to tile system, right. But what can we do with it, not so much indeed.
    When creating tiles in the WP7, they are sandboxed to the app itself, not being able to talk with the rest of the core (non-sandboxed tile system).

    So what i release today is a child node of DllImport project (due this expands with to much information, so i create i new thread); that makes it possible to create any type of tile (yes, you did read that correctly).

    How do i create tiles?
    - Too simple i can say. Can create a whole (hacked) tile with one line of code:

    Code:
    [COLOR="#2B91AF"]HackedShellTile[/COLOR].CreateFreedomTile(
        [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]Guid[/COLOR]([COLOR="DarkRed"]"{8dc5214e-88fa-4c2d-a379-2cd74fe24b72}"[/COLOR]), [COLOR="#008000"]// which app gets the ownership (by GUID)[/COLOR]
        [COLOR="DarkRed"]""[/COLOR], [COLOR="#008000"]// what launch parameters are passed in when clicking the tile (example: "?MyParameter=123")[/COLOR]
        [COLOR="DarkRed"]"_default"[/COLOR], [COLOR="#008000"]// the "<DefaultTask Name" of the app who owns the GUID[/COLOR]
        [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSimpleTextTile[/COLOR]( [COLOR="#008000"]// In this example code i use "simple text" tile[/COLOR]
            [COLOR="DarkRed"]"XDA tile system"[/COLOR], [COLOR="#008000"]// the "title"[/COLOR]
            [COLOR="DarkRed"]"It just works"[/COLOR])); [COLOR="#008000"]// and the "subtitle"[/COLOR]

    - Too easy.

    What more kind of tiles can i spawn?

    Code:
    [COLOR="#008000"]//Calendar[/COLOR]
    [COLOR="Blue"]var[/COLOR] calendar = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedCalendarTile[/COLOR]([COLOR="DarkRed"]"appointmentTitle"[/COLOR], [COLOR="DarkRed"]"appointmentDescription"[/COLOR], [COLOR="DarkRed"]"appointmentLocation"[/COLOR]);
    
    [COLOR="#008000"]//Icon with text[/COLOR]
    [COLOR="Blue"]var[/COLOR] icon = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedIconTile[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"@BrowsuiRes.dll,-12251"[/COLOR]);
    
    [COLOR="#008000"]//[Wide] icon with text[/COLOR]
    [COLOR="Blue"]var[/COLOR] wide = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedWideIconTile[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"@BrowsuiRes.dll,-12251"[/COLOR]);
    
    [COLOR="#008000"]//Separator-tile (Actually a bug creating a theme (black or white) based empty 1x1 tile)[/COLOR]
    [COLOR="Blue"]var[/COLOR] black_or_white = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSeparatorTitle[/COLOR]();
    
    [COLOR="#008000"]//As used in example (Creating some text on a tile)[/COLOR]
    [COLOR="Blue"]var[/COLOR] text = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedSimpleTextTile[/COLOR]([COLOR="DarkRed"]"My title"[/COLOR], [COLOR="DarkRed"]"Im subtitle"[/COLOR]);
    
    [COLOR="#008000"]//Create a 3-row image rotator[/COLOR]
    [COLOR="Blue"]var[/COLOR] row = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedTrippleRowTitle[/COLOR]([COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!token.xboxlive.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenCamera.png"[/COLOR]);
    
    [COLOR="#008000"]//You may have seen the people tile where people's faces flash and change positions and all; this is the same but with your own icons instead of faces.[/COLOR]
    [COLOR="Blue"]var[/COLOR] people = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedPeopleHubTitle[/COLOR]([COLOR="DarkRed"]"People of XDA"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkRed"]"res://StartMenu!TokenIE.png"[/COLOR], [COLOR="DarkOrange"]... (up to array of 18)[/COLOR]);
    
    [COLOR="#008000"]//The picture-hub favorite image rotator with your own images[/COLOR]
    [COLOR="Blue"]var[/COLOR] anim = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedWidePictureAnimator[/COLOR](
        [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_00.jpg"[/COLOR], 
        [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_01.jpg"[/COLOR], 
        [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_02.jpg"[/COLOR], 
        [COLOR="DarkRed"]@"file://\Application Data\Photos\Pictures_03.jpg"[/COLOR]
        [COLOR="SeaGreen"]/*Up to 18 supported*/[/COLOR]);
    
    [COLOR="#008000"]//Just an ordinary type "HackedIconTile" but always with a xbox logo (But just your own title text)[/COLOR]
    [COLOR="Blue"]var[/COLOR] xbox = [COLOR="Blue"]new[/COLOR] [COLOR="#2B91AF"]HackedXboxTile[/COLOR]([COLOR="DarkRed"]"My title"[/COLOR]);

    Youtube demo (as reference demo)



    How do i get it?

    Everything can be found in the orginal DllImport project thread located Here
    - Search up versions defined with "[Custom tile system]"


    (edits to come)


    Have a really great day!

    //fiinix
    1
    gonna use this for something soon... ;)
    1
    Absolutely amazing. Hopefully some developers can take advantage and make some amazing live tiles with this.
    1
    Upload that long text to paste bin please :)

    ---------- Post added at 11:39 AM ---------- Previous post was at 10:42 AM ----------

    I am looking to use this in my Supreme Shortcuts application (see my sig for a link). Is there a way to detect what items have been pinned to the Start Screen using this?