You can use the CheckPublishedStatus method as below:
Actually I just figured something out, I'm using two different kinds of searches, one using a SearchDataSource, and one FindPagesWithCriteria, when listing the results and filtering the results (same filter for both searches) I output PageLink.ID, PendingPublish and CheckPublishedStatus(PagePublishedStatus.Published).
In the FindPagesWithCritera output this outputs: "558 True False", which is correct, but when I look at the same output after the SearchDataSource search the output is the opposite, for some reason, resulting in "558 False True". So for some reason the Page is published all of a sudden, any suggestions to what is happening here?
I completly missed the fact that I was searching on a specific language, and I got the page as a result and it was not published, but when I checked if the parent page was published I didn't forgot to send along an ILanguageSelector, resulting in the page being fetched from on the language it was created, and published.
Oh well, accidents happen :)
I'm a little bit confused here, but I haven't found any way to figure out if a page (retrieved with a FindPagesWithCritera) is published or only saved.
StopPublish is always "12/31/9999 11:59:59 PM" and PendingPublish always seem to be false, what am I missing?